Как разрешить запуск локальных сценариев в Windows PowerShell? –

PowerShell, как следует из названия, — это мощное приложение для запуска сценариев. Однако вы не можете запускать файлы сценариев, локально сохраненные на вашем компьютере, без настройки соответствующей политики и доступа администратора. Если вы не можете запускать файлы сценариев, вот как вы можете разрешить запуск локальных сценариев в Windows PowerShell.

Запуск локального сценария в PowerShell

Допустим, у вас есть файл сценария PowerShell с именем script.ps1 на диске C:\. Обычно люди открывают PowerShell, выполняя поиск с помощью поиска Windows. Если вы попытаетесь запустить файл .\script.ps1 в командной строке вы будете остановлены с сообщением об ошибке «…в этой системе отключен запуск сценариев…».

Запуск сценария отключен в PowerShellЗапуск сценария отключен в PowerShell

Это происходит из-за ограничений в политике, и приложение не открывается в режиме администратора.

1. Откройте PowerShell в режиме администратора.

Есть два способа открыть PowerShell в режиме администратора.

  • Щелкните правой кнопкой мыши меню «Пуск» и выберите «Терминал (Администратор)». Откроется приложение «Терминал», и если вы не видите интерфейс PowerShell, нажмите «Control + Shift + 1», чтобы переключить интерфейс (или выберите стрелку в строке заголовка).

Режим администратора терминалаРежим администратора терминалаРежим администратора терминала

Открыть интерфейс PowerShellОткрыть интерфейс PowerShellОткрыть интерфейс PowerShell

Откройте PowerShell в режиме администратора.Откройте PowerShell в режиме администратора.Откройте PowerShell в режиме администратора.

Если вам будет предложено всплывающее окно «Контроль учетных записей», нажмите кнопку «Да», чтобы предоставить разрешение. Находясь в приложении PowerShell, убедитесь, что в строке заголовка отображается «Администратор: Windows PowerShell», указывающее, что приложение работает в режиме администратора.

2. Разрешить политику выполнения

Чтобы предоставить доступ для запуска локальных сценариев, вам необходимо установить для политики выполнения в PowerShell соответствующее значение.

  • Просто введите Set-ExecutionPolicy в командной строке и нажмите Enter.
  • Вам будет предложено ввести значение для команды, введите Удаленноподписанный и нажмите Enter.
  • PowerShell покажет предупреждение о том, что политика выполнения помогает защитить запуск ненадежных сценариев, а разрешение может привести к угрозе безопасности. Тип Да и нажмите Enter, чтобы подтвердить свое действие.

Установите значение политики выполнения в PowerShellУстановите значение политики выполнения в PowerShellУстановите значение политики выполнения в 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 ограничен в реестреExecutionPolicy ограничен в реестре

  • Дважды щелкните имя «ExecutionPolicy», измените данные значения на «RemoteSigned» и нажмите кнопку «ОК».

Изменить политику на удаленно подписаннуюИзменить политику на удаленно подписаннуюИзменить политику на удаленно подписанную

  • Теперь вы увидите, что столбец «Данные» напротив «ExecutionPolicy» изменен на «RemoteSigned».

ExecutionPolicy изменен в реестреExecutionPolicy изменен в реестреExecutionPolicy изменен в реестре

3. Запуск локальных сценариев с вашего компьютера

Вы можете запускать локальные сценарии в PowerShell после того, как настроите политику выполнения и откроете PowerShell в режиме администратора.

  • Сначала измените запрос на местоположение файла с помощью команды CD.
  • Просто введите .\имя файла и нажмите Enter.
  • Скрипт запустится и выполнит запланированное действие, никакого подтверждения в командной строке вы не увидите.

Скрипт выполнен успешноСкрипт выполнен успешноЛокальный сценарий успешно запущен

Допустимые значения для Set-ExecutionPolicy

Теперь, когда вы знаете, как запускать локальные сценарии в приложении Windows PowerShell, вы можете установить несколько значений для политики выполнения (либо в PowerShell, либо в редакторе реестра). Ниже приведен список значений. Чтобы предотвратить запуск локальных сценариев, вы можете изменить значение по умолчанию «Ограничено», как описано.

  • Ограниченный – это значение по умолчанию, позволяющее предотвратить запуск любых сценариев.
  • Всеподписано – позволяет запускать скрипты, подписанные доверенным издателем, при этом другие скрипты будут остановлены.
  • Удаленноподписанный – позволяет запускать локальные скрипты, подписанные доверенным издателем.
  • Неограниченный – PowerShell позволит запускать все скрипты без ограничений. Если сценарий не подписан доверенным издателем, вам будет предложено предоставить разрешение на запуск.
  • Обход – полностью обходить разрешения и запускать все скрипты без предупреждений.
  • Неопределенный – это означает, что политика выполнения не установлена ​​и по умолчанию установлено значение «Ограничено».

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *