Unblock-File
Разблокирует файлы, скачанные из Интернета.
Синтаксис
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Unblock-File позволяет открывать файлы, загруженные из Интернета. Он разблокирует файлы сценариев PowerShell, скачанные из Интернета, чтобы их можно было запускать, даже если политика выполнения PowerShell имеет значение RemoteSigned. По умолчанию эти файлы блокируются для защиты компьютера от ненадежных файлов.
Перед использованием командлета Unblock-File просмотрите файл и его источник и убедитесь, что его открытие не нарушит безопасность.
На внутреннем уровне командлет Unblock-File удаляет дополнительный поток данных Zone.Identifier, который имеет значение "3", указывающее на загрузку из Интернета.
Дополнительные сведения о политиках выполнения PowerShell см. в разделе about_Execution_Policies.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Разблокировка файла
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Эта команда разблокирует файл PowerShellTips.chm.
Пример 2. Разблокировка нескольких файлов
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Эта команда разблокирует все файлы в каталоге C:\Downloads, имена которых содержат PowerShell. Не выполняйте подобную команду, пока не убедитесь в безопасности всех файлов.
Пример 3. Поиск и разблокировка скриптов
The first command uses the *Stream* parameter of the Get-Item cmdlet get files with the Zone.Identifier stream.Although you could pipe the output directly to the **Unblock-File** cmdlet (Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue | ForEach {Unblock-File $_.FileName}), it is prudent to review the file and confirm that it is safe before unblocking.
PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
FileName: C:\ps-test\Start-ActivityTracker.ps1
Stream Length
------ ------
Zone.Identifier 26
The second command shows what happens when you run a blocked script in a PowerShell session in which the execution policy is **RemoteSigned**. The RemoteSigned policy prevents you from running scripts that are downloaded from the Internet unless they are digitally signed.
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
The third command uses the **Unblock-File** cmdlet to unblock the script so it can run in the session.
PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File
Эта команда показывает, как найти и разблокировать скрипты PowerShell.
Параметры
-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 |
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 |
Входные данные
В Unblock-File можно передать путь к файлу.
Выходные данные
None
Этот командлет не формирует никаких выходных данных.
Примечания
- Командлет Unblock-File работает только на дисках с файловой системой.
- Unblock-File выполняет ту же операцию, что и кнопка Разблокировать в диалоговом окне Свойства в проводник.
- При использовании командлета Unblock-File для незаблокированного файла команда не оказывает влияния на такой файл и командлет не создает ошибок.