Как разрешить запуск локальных сценариев в Windows PowerShell? –
PowerShell, как следует из названия, — это мощное приложение для запуска сценариев. Однако вы не можете запускать файлы сценариев, локально сохраненные на вашем компьютере, без настройки соответствующей политики и доступа администратора. Если вы не можете запускать файлы сценариев, вот как вы можете разрешить запуск локальных сценариев в Windows PowerShell.
Запуск локального сценария в PowerShell
Допустим, у вас есть файл сценария PowerShell с именем script.ps1 на диске C:\. Обычно люди открывают PowerShell, выполняя поиск с помощью поиска Windows. Если вы попытаетесь запустить файл .\script.ps1 в командной строке вы будете остановлены с сообщением об ошибке «…в этой системе отключен запуск сценариев…».
Запуск сценария отключен в PowerShell
Это происходит из-за ограничений в политике, и приложение не открывается в режиме администратора.
1. Откройте PowerShell в режиме администратора.
Есть два способа открыть PowerShell в режиме администратора.
- Щелкните правой кнопкой мыши меню «Пуск» и выберите «Терминал (Администратор)». Откроется приложение «Терминал», и если вы не видите интерфейс PowerShell, нажмите «Control + Shift + 1», чтобы переключить интерфейс (или выберите стрелку в строке заголовка).
Режим администратора терминала
Открыть интерфейс PowerShell
Откройте PowerShell в режиме администратора.
Если вам будет предложено всплывающее окно «Контроль учетных записей», нажмите кнопку «Да», чтобы предоставить разрешение. Находясь в приложении PowerShell, убедитесь, что в строке заголовка отображается «Администратор: Windows PowerShell», указывающее, что приложение работает в режиме администратора.
2. Разрешить политику выполнения
Чтобы предоставить доступ для запуска локальных сценариев, вам необходимо установить для политики выполнения в PowerShell соответствующее значение.
- Просто введите Set-ExecutionPolicy в командной строке и нажмите Enter.
- Вам будет предложено ввести значение для команды, введите Удаленноподписанный и нажмите Enter.
- PowerShell покажет предупреждение о том, что политика выполнения помогает защитить запуск ненадежных сценариев, а разрешение может привести к угрозе безопасности. Тип Да и нажмите Enter, чтобы подтвердить свое действие.
Установите значение политики выполнения в PowerShell
Обратите внимание, что вы также можете использовать следующую команду, чтобы напрямую назначить значение политики.
Set-ExecutionPolicy RemoteSigned
Используйте следующую команду, чтобы применить изменения только для текущего пользователя:
Set-ExecutionPolicy RemoteSigned-Scope CurrentUser 2.1. Изменить политику выполнения из редактора реестра
Если вы попытаетесь изменить Set-ExecutionPolicy значение в режиме без прав администратора, PowerShell отобразит ошибку, запрещающую доступ к изменению раздела реестра.
Доступ запрещен
Это означает, что изменение политики выполнения — это не что иное, как изменение значения ключа «ExecutionPolicy» в реестре. Таким образом, вы можете сделать это напрямую с помощью редактора реестра с доступом администратора.
- Нажмите клавиши «Windows Logo + R», чтобы открыть строку «Выполнить».
- Тип regedit в поле и нажмите кнопку «ОК».
Открыть реестр
- При появлении запроса нажмите кнопку «Да» в разделе «Контроль учетных записей», чтобы разрешить доступ в режиме администратора.
- Скопируйте, вставьте следующий путь в адресную строку редактора реестра и нажмите Enter.
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\Shellids\Microsoft.PowerShell
- Вы должны увидеть, что «ExecutionPolicy» установлен как «Restricted» на правой панели.
ExecutionPolicy ограничен в реестре
- Дважды щелкните имя «ExecutionPolicy», измените данные значения на «RemoteSigned» и нажмите кнопку «ОК».
Изменить политику на удаленно подписанную
- Теперь вы увидите, что столбец «Данные» напротив «ExecutionPolicy» изменен на «RemoteSigned».
ExecutionPolicy изменен в реестре
3. Запуск локальных сценариев с вашего компьютера
Вы можете запускать локальные сценарии в PowerShell после того, как настроите политику выполнения и откроете PowerShell в режиме администратора.
- Сначала измените запрос на местоположение файла с помощью команды CD.
- Просто введите .\имя файла и нажмите Enter.
- Скрипт запустится и выполнит запланированное действие, никакого подтверждения в командной строке вы не увидите.
Локальный сценарий успешно запущен
Допустимые значения для Set-ExecutionPolicy
Теперь, когда вы знаете, как запускать локальные сценарии в приложении Windows PowerShell, вы можете установить несколько значений для политики выполнения (либо в PowerShell, либо в редакторе реестра). Ниже приведен список значений. Чтобы предотвратить запуск локальных сценариев, вы можете изменить значение по умолчанию «Ограничено», как описано.
- Ограниченный – это значение по умолчанию, позволяющее предотвратить запуск любых сценариев.
- Всеподписано – позволяет запускать скрипты, подписанные доверенным издателем, при этом другие скрипты будут остановлены.
- Удаленноподписанный – позволяет запускать локальные скрипты, подписанные доверенным издателем.
- Неограниченный – PowerShell позволит запускать все скрипты без ограничений. Если сценарий не подписан доверенным издателем, вам будет предложено предоставить разрешение на запуск.
- Обход – полностью обходить разрешения и запускать все скрипты без предупреждений.
- Неопределенный – это означает, что политика выполнения не установлена и по умолчанию установлено значение «Ограничено».