Выполнить сценарий Powershell из EXE-файла... Выполнение политики RemoteSigend/ неограниченно, по-прежнему не удается

Поэтому я написал небольшую программу 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 ответа

Решение

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

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

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

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

powershell.exe -ExecutionPolicy Bypass yourScript.ps1

Объяснение:

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

-ExecutionPolicy

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

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