Выполнение скрипта PowerShell отключено — как исправить
Как управлять политиками выполнения сценариев PowerShell: разница между различными возможными конфигурациями.
По умолчанию, хотя Windows PowerShell предустановлен в Windows 10, сценарии не запускаются автоматически. Операционная система Microsoft использует политику Restricted по умолчанию, которая запрещает загрузку любого сценария PowerShell на используемом компьютере. Это мера безопасности для предотвращения использования объектов, которые могут создать проблемы для конечных пользователей, особенно если они получены из ненадежных источников.
Windows позволяет выполнять отдельные команды PowerShell из своего окна, как мы уже неоднократно видели (например, PowerShell для примера: что можно сделать), при этом скрипты оперативно блокируются.
Попытка запустить любой сценарий из окна PowerShell приведет к появлению сообщения об ошибке «Сценарии отключены в вашей системе».
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Уловка, которую мы часто используем, чтобы временно «прокачать» политику выполнения Windows без ее изменения, заключается в использовании следующего синтаксиса из окна командной строки (cmd):
powershell -noprofile -executionpolicy bypass -file «.nomescript.ps1»
Вместо .имя_сценария.ps1 можно указать полный путь скрипта PowerShell для запуска.
Вы также можете запланировать запуск скрипта с помощью Планировщика. Просто введите «Планировщик заданий» в поле поиска меню «Пуск», щелкните вкладку «Действия», нажмите кнопку «Создать», введите powershell.exe в поле «Программа или сценарий», затем -noprofile -executionpolicy bypass -file «c:PATHscriptname.ps1». в поле Аргумент, сделав соответствующие замены.
Очевидно, что затем вам нужно будет установить вкладки «Общие» и «Активация», чтобы назначить имя активности, указать используемую учетную запись пользователя, указать, следует ли использовать административные привилегии и когда начинать запланированную операцию.
При этом с помощью команды Get-ExecutionPolicy можно подтвердить используемую политику.
Альтернативы следующие:
RemoteSigned разрешает выполнение сценариев PowerShell, созданных локально или загруженных из сети, но содержащих цифровую подпись.
AllSigned разрешает загрузку скриптов с надежной цифровой подписью.
Unrestricted разрешает выполнение всех скриптов, в том числе без цифровой подписи.
Если вы хотите, хотя бы временно, изменить политику выполнения, просто введите Set-ExecutionPolicy в окне PowerShell, открытом с правами администратора. Например: Set-ExecutionPolicy RemoteSigned.
Чтобы подтвердить изменение, нажмите «S».
Если вы предпочитаете восстановить конфигурацию по умолчанию, просто введите Set-ExecutionPolicy Restricted, подтверждая применение политики.
Чтобы применить изменения к текущему пользователю, просто добавьте -Scope CurrentUser (пример: Set-ExecutionPolicy Restricted -Scope CurrentUser или Set-ExecutionPolicy Unrestricted -Scope CurrentUser).
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)