kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 DevelopingChris
DevelopingChris
Вопрос

Почему мои сценарии PowerShell не выполняются?

Я написал простой пакетный файл как сценарий PowerShell, и я получаю ошибки при их выполнении.

Он находится в каталоге scripts в моем пути. Вот ошибка, которую я получаю:

Cannot be loaded because the execution of scripts is disabled on this system. Пожалуйста, обратитесь к "get-help about-signing".

Я просмотрел справку, но она не слишком полезна.

96 2008-08-14T03:39:17+00:00 8
 TylerH
TylerH
Редактировал вопрос 6-го сентября 2019 в 4:15
Программирование
powershell
Решение / Ответ
Matt Hamilton
Matt Hamilton
14-го августа 2008 в 3:41
2008-08-14T03:41:33+00:00
Дополнительно
Источник
Редактировать
#8414584

Это может быть уровень безопасности PowerShell' по умолчанию, который (IIRC) будет запускать только подписанные сценарии.

Попробуйте напечатать это:

set-executionpolicy remotesigned

Это укажет PowerShell разрешить запуск локальных (то есть на локальном диске) неподписанных сценариев.

Затем попробуйте выполнить свой сценарий снова.

 TylerH
TylerH
Редактировал ответ 6-го сентября 2019 в 4:15
98
0
 Nadeem_MK
Nadeem_MK
14-го ноября 2013 в 10:15
2013-11-14T10:15:31+00:00
Дополнительно
Источник
Редактировать
#8414589

Вы должны управлять 'Набором-ExecutionPolicy':

<! - язык: lang-ни-один - >

Set-ExecutionPolicy Restricted <-- Will not allow any powershell scripts to run.  Only individual commands may be run.

Set-ExecutionPolicy AllSigned <-- Will allow signed powershell scripts to run.

Set-ExecutionPolicy RemoteSigned <-- Allows unsigned local script and signed remote powershell scripts to run.

Set-ExecutionPolicy Unrestricted <-- Will allow unsigned powershell scripts to run.  Warns before running downloaded scripts.

Set-ExecutionPolicy Bypass <-- Nothing is blocked and there are no warnings or prompts.
 TylerH
TylerH
Редактировал ответ 6-го сентября 2019 в 3:17
72
0
 Naveen
Naveen
22-го апреля 2013 в 7:16
2013-04-22T07:16:58+00:00
Дополнительно
Источник
Редактировать
#8414588

Использование:

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

Всегда используйте вышеупомянутую команду, чтобы позволить к выполнению PowerShell на текущей сессии.

Peter Mortensen
Peter Mortensen
Редактировал ответ 25-го ноября 2018 в 8:22
20
0
Michael Potter
Michael Potter
30-го ноября 2015 в 8:13
2015-11-30T20:13:10+00:00
Дополнительно
Источник
Редактировать
#8414591

Я смог обойти эту ошибку, призвав PowerShell как это:

powershell -executionpolicy bypass -File .\MYSCRIPT.ps1

Таким образом, я добавил '-executionpolicy обход к способу, которым я призвал сценарий.

Это работало над Windows 7 Service Pack 1. Я плохо знаком с PowerShell, таким образом, могли быть протесты к выполнению этого, что я не знаю.

[Отредактируйте 2017-06-26], я продолжил использовать эту технику на других системах включая Windows 10 и Windows 2012 R2 без проблемы.

Вот то, что я использую теперь. Это держит меня от случайного управления сценарием, нажимая на него. Когда я управляю им в планировщике, я добавляю один аргумент: " scheduler" и это обходит быстрое.

Это также делает паузу окно в конце, таким образом, я вижу продукцию PowerShell.

if NOT "%1" == "scheduler" (
   @echo looks like you started the script by clicking on it.
   @echo press space to continue or control C to exit.
   pause
)

C:
cd \Scripts

powershell -executionpolicy bypass -File .\rundps.ps1

set psexitcode=%errorlevel%

if NOT "%1" == "scheduler" (
   @echo Powershell finished.  Press space to exit.
   pause
)

exit /b %psexitcode%
Peter Mortensen
Peter Mortensen
Редактировал ответ 25-го ноября 2018 в 8:24
15
0
Leon Bambrick
Leon Bambrick
14-го августа 2008 в 3:47
2008-08-14T03:47:47+00:00
Дополнительно
Источник
Редактировать
#8414586

Также стоит знать, что перед именем скрипта может потребоваться включить .\. Например:

.\scriptname.ps1
 danday74
danday74
Редактировал ответ 8-го июня 2017 в 10:20
5
0
 user3335140
user3335140
21-го февраля 2014 в 12:23
2014-02-21T00:23:53+00:00
Дополнительно
Источник
Редактировать
#8414590
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

Вышеупомянутая команда работала на меня, даже когда следующая ошибка происходит:

Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied.
5
0
 ExchangeAdmin
ExchangeAdmin
18-го июля 2012 в 8:23
2012-07-18T20:23:26+00:00
Дополнительно
Источник
Редактировать
#8414587

Команда set-executionpolicy unrestricted позволит любому созданному вами сценарию выполняться от имени вошедшего пользователя. Только не забудьте перед выходом из системы вернуть параметр политики исполнения в значение signed с помощью команды set-executionpolicy signed.

1
0
 user2781940
user2781940
20-го сентября 2019 в 9:08
2019-09-20T09:08:32+00:00
Дополнительно
Источник
Редактировать
#8414592

На Windows 10: Щелкните по собственности безопасности изменения myfile.ps1 и измените " позвольте access" щелчком правой кнопкой мыши / свойства на myfile.ps1

 MaartenDev
MaartenDev
Редактировал ответ 20-го сентября 2019 в 9:54
0
0
Похожие сообщества 2
Powershell Rus
Powershell Rus
873 пользователей
Не спрашивайте, можно ли спросить. Можно, но только про Powershell. Для оффтопа есть https://t.me/ps_unrelated Если у вас что-то не выходит: 1. Опишите, что делаете (можно приложить код в pastebin) 2. Расскажите, что ожидаете получить 3. Что пошло не так?
Открыть telegram
PowerShell Pro
PowerShell Pro
163 пользователей
Чат, посвящённый языку PowerShell Правила чата: нет оффтопу, спаму, оскорблениям. Будьте вежливы к коллегам. Приятного общения! Книги можно найти по тегу #books
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
JA
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией