Как изменить политику выполнения для запуска скриптов в PowerShell
В Windows 11 (или 10) по умолчанию при попытке запустить сценарий в PowerShell произойдет сбой с ошибкой «невозможно загрузить, потому что в этой системе отключены запущенные скрипты» сообщение об ошибке. Это связано с тем, что PowerShell поставляется с функцией безопасности «политики выполнения», которая контролирует, как загружать файлы конфигурации и запускать сценарии, чтобы предотвратить запуск вредоносного кода в системе.
Если вам необходимо запустить сценарий в Windows 11 (или 10), вы можете изменить политику выполнения для локального компьютера, текущего пользователя или сеанса.
Когда вы устанавливаете политику выполнения PowerShell для локального компьютера и текущего пользователя, информация будет храниться в реестре. Если вы зададите политику для определенного сеанса, она будет храниться в памяти, а затем будет потеряна при закрытии сеанса.
Согласно с Майкрософт, политика выполнения не ограничивает действие. Вы всегда можете обойти политику, введя сценарий в интерфейсе командной строки (CLI). Политика выполнения была разработана, чтобы помочь пользователям предотвратить запуск вредоносных сценариев.
В этом руководстве вы узнаете, как изменить политику выполнения для успешного запуска сценариев в PowerShell в Windows 11 или 10.
Изменить политику выполнения в PowerShell
Чтобы изменить политику выполнения в PowerShell для успешного запуска сценариев в Windows 11 (или 10), выполните следующие действия:
Открытым Начинать.
Ищи PowerShellщелкните правой кнопкой мыши верхний результат и выберите Запустить от имени администратора вариант.
Введите следующую команду, чтобы подтвердить текущую политику выполнения, и нажмите Войти:
Get-ExecutionPolicy
(Необязательно) Введите следующую команду, чтобы просмотреть действующие политики выполнения PowerShell, и нажмите Войти:
Get-ExecutionPolicy -List
Введите следующую команду, чтобы разрешить запуск сценариев, и нажмите Войти:
Set-ExecutionPolicy RemoteSigned
(Необязательно) Введите следующую команду, чтобы предотвратить запуск скриптов, и нажмите Войти:
Set-ExecutionPolicy Restricted
После выполнения этих шагов вы можете выполнить сценарий еще раз, и теперь он должен успешно работать в Windows 11. Если вы больше не хотите разрешать выполнение сценариев на своем компьютере, вы можете запустить необязательную команду, упомянутую в шагах.
Если вы хотите изменить политику выполнения для запуска скриптов для текущего пользователя или локального компьютера, вам нужно использовать параметр «Область действия» следующим образом: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
или же Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.
В Windows 11 вы можете выбрать одну из четырех политик выполнения, чтобы разрешить или запретить сценарии:
- Ограниченный — блокирует запуск любого скрипта.
- Удаленно подписанный — позволяет создавать скрипты на компьютере. Однако сценарии, созданные на другом устройстве, не будут выполняться, если у них нет надежной подписи.
- Всеподписано — позволяет запускать все скрипты. Однако только в том случае, если доверенный издатель включил подпись.
- Без ограничений — запускает любой скрипт без ограничений.
Вам не нужно менять политику выполнения, если вам нужно запустить сценарий, который не имеет необходимых параметров и не возвращает выходные данные. Вместо этого вы можете использовать PowerShell.exe -File "FILENAME" -ExecutionPolicy
Команда Bypass для обхода ограничений.