Unblock-File
Разблокирует файлы, скачанные из Интернета.
Синтаксис
ByPath (по умолчанию)
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
этот командлет работает только на платформах Windows и macOS.
Командлет Unblock-File позволяет открывать файлы, скачанные из Интернета. Он разблокирует файлы скриптов PowerShell, скачанные из Интернета, чтобы их можно было запустить, даже если политика выполнения PowerShell RemoteSigned. По умолчанию эти файлы блокируются для защиты компьютера от ненадежных файлов.
Перед использованием командлета Unblock-File просмотрите файл и его источник и убедитесь, что оно безопасно для открытия.
Во внутреннем режиме командлет Unblock-File удаляет Zone.Identifier альтернативный поток данных, который имеет значение 3, чтобы указать, что он был скачан из Интернета.
Дополнительные сведения о политиках выполнения 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 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
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает файлы для разблокировки. В отличие от пути , значение параметра LiteralPath используется в точности так, как введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки ('). Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Наборы параметров
ByLiteralPath
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Path
Указывает файлы для разблокировки. Поддерживаются подстановочные знаки.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
ByPath
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | wi |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Путь к файлу можно передать этому командлету.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
- Добавлена поддержка macOS в PowerShell 7.
- Командлет
Unblock-Fileработает только на дисках файловой системы. -
Unblock-Fileвыполняет ту же операцию, что и кнопка разблокировать в диалоговом окне "Свойства " в проводнике. - Если вы используете командлет
Unblock-Fileв файле, который не заблокирован, команда не влияет на разблокированный файл и командлет не создает ошибок.