Симптом:
при попытке запустить 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
-разрешается выполнение любых сценариев PowerShell без проверки цифровой подписи.