Unblock-File

Разблокирует файлы, скачанные из Интернета.

Синтаксис

Unblock-File
       [-Path] <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Unblock-File
       -LiteralPath <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Описание

Командлет Unblock-File позволяет открывать файлы, скачанные из Интернета. Он разблокирует файлы скриптов PowerShell, скачанные из Интернета, чтобы их можно было запускать, даже если политика выполнения PowerShell имеет значение RemoteSigned. По умолчанию эти файлы блокируются для защиты компьютера от ненадежных файлов.

Прежде чем использовать командлет, просмотрите Unblock-File файл и его источник и убедитесь, что он является безопасным для открытия.

Внутри командлет удаляет альтернативный поток данных Zone.Identifier, имеющий значение "3", Unblock-File чтобы указать, что он был скачан из Интернета.

Дополнительные сведения о политиках выполнения PowerShell см. в about_Execution_Policies.

Этот командлет впервые появился в Windows PowerShell 3.0.

Примеры

Пример 1. Разблокировка файла

Эта команда разблокирует файл PowerShellTips.chm.

PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm

Пример 2. Разблокировка нескольких файлов

Эта команда разблокирует все файлы в каталоге C:\Downloads , имена которых включают PowerShell. Не выполняйте подобную команду, пока не убедитесь в безопасности всех файлов.

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

Пример 3. Поиск и разблокировка скриптов

В этой команде показано, как найти и разблокировать скрипты PowerShell.

Первая команда использует параметр Stream командлета Get-Item для получения файлов с потоком Zone.Identifier.

Вторая команда показывает, что происходит при запуске заблокированного скрипта в сеансе PowerShell, в котором политика выполнения имеет значение RemoteSigned. Политика RemoteSigned запрещает выполнение сценариев, загруженных из Интернета, если они не имеют цифровой подписи.

Третья команда использует Unblock-File командлет для разблокировки скрипта, чтобы он выполнялся в сеансе.

PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
   FileName: C:\ps-test\Start-ActivityTracker.ps1

Stream                   Length
------                   ------
Zone.Identifier              26

PS C:\> C:\ps-test\Start-ActivityTracker.ps1
c:\ps-test\Start-ActivityTracker.ps1 : File c:\ps-test\Start-ActivityTracker.ps1 cannot
be loaded. The file c:\ps-test\Start-ActivityTracker.ps1 is not digitally signed. The script
will not execute on the system. For more information, see about_Execution_Policies.

At line:1 char:1
+ c:\ps-test\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Указывает файлы для разблокирования. В отличие от параметра Path, значение параметра LiteralPath используется в точности так, как вводится. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell, что никакие символы не интерпретируются как escape-последовательности.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Указывает файлы для разблокирования. Поддерживаются подстановочные знаки.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

String

Вы можете передать путь к файлу Unblock-File.

Выходные данные

None

Этот командлет не формирует никаких выходных данных.

Примечания

Этот командлет доступен только на платформах Windows.

  • Командлет Unblock-File работает только на дисках файловой системы.
  • Unblock-Fileвыполняет ту же операцию, что и кнопка разблокировки в диалоговом окне "Свойства" в проводник.
  • Если вы используете командлет для Unblock-File файла, который не заблокирован, команда не влияет на разблокированный файл, и командлет не создает ошибок.