Автоматизируя один рутинный процесс на домашнем компьютере, решил воспользоваться PowerShellскриптом. Суть задачи – извлекать из zip-архива нужный файл. Написал скрипт для извлечения, а при запуске – ошибка.

Рис.1. Ошибка о запрете выполнения PowerShell скриптов

Рис.1. Ошибка о запрете выполнения PowerShell скриптов

Текст ошибки:

Не удается загрузить файл C:\Users\Alexey\Documents\extractZip.ps1, так как выполнение скриптов запрещено для данной си
стемы. Введите "get-help about_signing" для получения дополнительных сведений.
строка:1 знак:17
+ .\extractZip.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

 

Вбиваю в PowerShell’е get-helpabout_signingи понимаю, что по умолчанию запуск скриптов запрещен и рекомендуется разрешить выполнение подписанных скриптов.

Это позволит запускать скрипты, созданные на локальном компьютере, а также подписанные скрипты других пользователей. Для этого нужно ввести следующую команду для изменения политики исполнения на RemoteSigned:

       set-executionpolicy remotesigned

 

Если ввести эту команду, запустив PowerShell не с правами администратора (пусть даже и под администраторской учеткой), будет выдано сообщение об ошибке

Рис.2. Ошибка о запрете изменения политики исполнения PowerShell скриптов на RemoteSigned

Рис.2. Ошибка о запрете изменения политики исполнения PowerShell скриптов на RemoteSigned

Потому менять значение политики исполнения на RemoteSigned нужно только запустив консоль PowerShell с правами администратора.

После изменения политики исполнения на RemoteSigned можно спокойно запускать сохранненые скрипты.