Поэтому я написал небольшую программу VB, которая запускает скрипт powershell. Я знаю, что мой ExecutionPolicy должен быть установлен на RemoteSigned или Unrestricted для выполнения сценариев на моем компьютере. Так вот, что я сделал, но он продолжает говорить ... cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at .. bla bla Обычно эта проблема решается путем изменения ExecutionPolicy, но не в этот раз. Может быть, потому что я называю powershell из EXE? ИДК.

Некоторые советуют?

2 ответа2

0

Итак, после бесконечных попыток я случайно нашел решение. Или, я бы лучше сказал .. это сработало для меня.

Я запустил powershell.exe из корневого каталога с правами администратора. После этого я загрузил модуль PSReadLine вручную и снова установил ExecutionPolicy на RemoteSigned .

После этих шагов все заработало как положено. Если честно, сейчас я не вижу разницы между открытием powershell из меню «Пуск» с правами администратора и открытием его из корневого каталога с правами администратора. Но это имело значение. Интересно.

0

Попробуйте запустить это так:

powershell.exe -ExecutionPolicy Bypass yourScript.ps1

Объяснение:

Из документации:

-ExecutionPolicy

Определяет новую политику выполнения. Допустимые значения для этого параметра:

  • Ограниченный. Не загружает файлы конфигурации и не запускает скрипты. Ограничено - это политика выполнения по умолчанию.
  • AllSigned. Требует, чтобы все сценарии и файлы конфигурации были подписаны доверенным издателем, включая сценарии, которые вы пишете на локальном компьютере.
  • RemoteSigned. Требует, чтобы все скрипты и файлы конфигурации, загруженные из Интернета, были подписаны доверенным издателем.
  • Неограниченные. Загружает все файлы конфигурации и запускает все скрипты. Если вы запускаете неподписанный скрипт, который был загружен из Интернета, вам будет предложено разрешение перед его запуском.
  • Обход. Ничто не заблокировано и нет предупреждений или подсказок.
  • Не определено. Удаляет текущую назначенную политику выполнения из текущей области. Этот параметр не удаляет политику выполнения, установленную в области групповой политики.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .