Как изменить политику выполнения PowerShell в Windows 10
По умолчанию PowerShell ограничивает выполнение сценариев на ПК конечных пользователей. Этот параметр хорош с точки зрения безопасности. Однако, если вы используете много скриптов, которые вы скачали или написали самостоятельно, это может сильно раздражать. В этой статье мы рассмотрим, как изменить политику выполнения по умолчанию для сценариев PowerShell в Windows 10.
Windows PowerShell имеет четыре различных политики выполнения:
- Ограничено - скрипты не могут быть запущены. Windows PowerShell можно использовать только в интерактивном режиме.
- AllSigned - можно запускать только сценарии, подписанные доверенным издателем.
- RemoteSigned - загруженные сценарии должны быть подписаны доверенным издателем перед запуском.
- Без ограничений - Без ограничений; все сценарии Windows PowerShell могут быть запущены.
- Не определено - политика выполнения не задана.
Если политика выполнения не задана и не настроена, она отображается как «Не определено». Вот как вы можете увидеть текущее значение.
Как увидеть политику выполнения PowerShell
- Открыть PowerShell.
- Введите или скопируйте и вставьте следующую команду и нажмите клавишу Enter:
Get-ExecutionPolicy -List
Команда отобразит все политики выполнения. Как видите, существует ряд областей, для которых можно определить политику выполнения. Его можно установить глобально для всех пользователей, только для текущего пользователя или для текущего процесса. Текущая политика процесса имеет приоритет над настройками текущего пользователя. Текущая политика пользователя имеет приоритет над глобальным параметром. Имейте это в виду. Теперь давайте посмотрим, как изменить политику выполнения скрипта для PowerShell.
Изменение политики выполнения PowerShell для процесса
- Откройте командная строка или PowerShell.
- Запустите файл powershell.exe с аргументом -ExecutionPolicy Unrestricted. Например,
Powershell.exe -ExecutionPolicy Unrestricted -File c: \ data \ test.ps1
Это запустит ваш скрипт с использованием политики неограниченного выполнения. Вместо сценария вы можете запустить командлет или что хотите. Вместо «Без ограничений» вы можете использовать любую другую политику, упомянутую выше.
Совет: Для открытой консоли PowerShell вы можете переключить политику выполнения с помощью команды:
Set-ExecutionPolicy Unrestricted -Scope Процесс
Он будет оставаться активным, пока вы не закроете текущее окно PowerShell.
Изменить политику выполнения PowerShell для текущего пользователя
- Откройте PowerShell.
- Введите или скопируйте и вставьте следующую команду и нажмите клавишу Enter:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Если для текущего пользователя задана политика выполнения, она будет иметь приоритет над областью «LocalMachine». Опять же, для процесса вы можете переопределить его для текущего экземпляра PowerShell, как описано выше.
Изменить глобальную политику выполнения PowerShell
Эта политика выполнения применяется к компьютеру, что означает, что она эффективна для тех учетных записей пользователей, для которых политика выполнения не применяется индивидуально. С настройками по умолчанию он будет применен ко всем учетным записям пользователей.
Чтобы изменить политику выполнения PowerShell в Windows 10, сделайте следующее.
- Откройте PowerShell от имени администратора.
- Выполните следующую команду:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
Вы сделали.
Измените политику выполнения PowerShell с помощью настройки реестра
Можно изменить политику выполнения с помощью настройки реестра как для текущего пользователя, так и для компьютера. Вот как это можно сделать.
- Открыть Редактор реестра.
- Чтобы изменить политику выполнения для текущего пользователя, перейдите по ссылке.
HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft. PowerShell
- Установите для строкового значения ExecutionPolicy одно из следующих значений: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
- Чтобы изменить политику выполнения для области LocalMachine, перейдите к.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft. PowerShell
- Установите для строкового значения ExecutionPolicy одно из следующих значений: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
Совет: узнайте, как перейти к разделу реестра одним щелчком. Также вы можете быстро переключаться между HKCU и HKLM в редакторе реестра Windows 10.
Вот и все.