Симптом:
при попытке запустить PowerShell скрипт вы получаете сообщение
Не удается загрузить файл C:\OldComputers. ps1, так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений.
строка:1 знак:59
+ C:\OldComputers. ps1 <<<<
+ CategoryInfo . NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId. RuntimeException
Решение:
По соображениям безопасности все скрипты PowerShell должны быть подписаны цифровой подписью, данные метод называется — политика выполнения. Если скрипт не соответствует этому условию, то выполнение сценариев PowerShell в системе запрещено. Это связано в первую очередь с тем, что в скрипте может находится вредоносный код, который может привести к деструктивным последствиям в операционной системе.
Если у вас есть острая необходимость в запуске PowerShell скриптов в системе, можно отключить проверку выполнения для локальных скриптов. Для этого воспользуемся консолью PowerShell запущенной с правами Администратора и выполним следующую команду:
Set-ExecutionPolicy RemoteSigned
После запуска команды вам будет предложено подтвердить изменение политики выполнения. Ответим Y (Да).
В результате внесения изменений все скрипты запускаемые локально не будут проверяться на наличие цифровой подписи. Для возвращения к настройкам по умолчанию необходимо выполнить команду:
Set-ExecutionPolicy Restricted
При таких настройках запуск всех сценариев запрещен, разрешено пользоваться только одиночными командлетами PowerShell с использованием интерактивной консоли.
- Set-ExecutionPolicy RemoteSigned
-отключает проверку выполнения для локальных скриптов PowerShell.
- Set-ExecutionPolicy Restricted
-возвращает настройки по умолчанию
- Set-ExecutionPolicy AllSigned
- Set-ExecutionPolicy Unrestricted