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

791
arvenyon

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

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

0

2 ответа на вопрос

0
hanjo

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

powershell.exe -ExecutionPolicy Bypass yourScript.ps1 

Объяснение:

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

-ExecutionPolicy

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

  • Ограниченный. Не загружает файлы конфигурации и не запускает скрипты. Ограничено - это политика выполнения по умолчанию.
  • AllSigned. Требует, чтобы все сценарии и файлы конфигурации были подписаны доверенным издателем, включая сценарии, которые вы пишете на локальном компьютере.
  • RemoteSigned. Требует, чтобы все скрипты и файлы конфигурации, загруженные из Интернета, были подписаны доверенным издателем.
  • Неограниченные. Загружает все файлы конфигурации и запускает все скрипты. Если вы запустили неподписанный скрипт, который был загружен из Интернета, вам будет предложено разрешение перед его запуском.
  • Обход. Ничто не заблокировано и нет предупреждений или подсказок.
  • Не определено. Удаляет текущую назначенную политику выполнения из текущей области. Этот параметр не удаляет политику выполнения, установленную в области групповой политики.
ну конечно, я забыл упомянуть, извините за это. Я также пытался обойти и такого рода вещи. arvenyon 6 лет назад 0
Вы также пытались постоянно разрешить скрипты для своего пользователя, запустив (один раз) `Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy Bypass`? hanjo 6 лет назад 0
Я сделал, не помогая. Но я просто нашел решение случайно ... Я открыл файл powershell.exe прямо из каталога с правами администратора, а затем вручную загрузил модуль PSReadLine. Это помогло мне, и теперь все работает безупречно. Но все равно спасибо за вашу помощь! arvenyon 6 лет назад 0
@arvenyon Опубликуйте и примите решение, как только сможете. root 6 лет назад 0
0
arvenyon

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

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

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

Похожие вопросы