Игнорировать "предупреждение безопасности" запуск скрипта из командной строки
Я пытаюсь выполнить скрипт из общей папки, которым я доверяю:
PowerShell -file "serverscriptsmy.ps1"
но я получаю предупреждение безопасности и должен нажать 'R', чтобы продолжить
предупреждение безопасности запускайте только скрипты, которые ты доверяешь. В то время как скрипты из Интернет может быть полезен этот скрипт может нанести вред вашему компьютеру. Делать вы хотите бежать serverscriptsmy. ps1? [D] Нет запустить [R] запустить один раз [S] приостановить [?] Справка (по умолчанию "D"): d
могу ли я игнорировать это предупреждение? Желаемый псевдо-код, который я хочу:
PowerShell -IGNORE_SECURITY_WARNING -file "serverscriptsmy.ps1"
10 ответов:
это коснулось в "политики выполнения PowerShell в стандартных изображениях" в блоге ли Холмса и "руководящие принципы безопасности PowerShell" на Блог Windows Power Shell .
резюме Некоторые машины рассматривают UNC-пути как большой плохой интернет, поэтому PowerShell рассматривает их как удаленные файлы. Вы можете либо отключить эту функцию на этих серверах (
UncAsIntranet = 0,
) или добавьте удаленные машины к вашим доверенным принимать гостей.Если вы не хотите делать ни того, ни другого, PowerShell v2 поддерживает
-ExecutionPolicy
параметр, который делает именно то, что ваш псевдокод хочет.PowerShell -ExecutionPolicy Bypass -File (...)
.
Если вы столкнулись с этой ошибкой из загруженного сценария powershell, вы можете разблокировать сценарий следующим образом:
щелкните правой кнопкой мыши на и выберите свойства
клик разблокировать в свойствах файла
клик ОК
просто назначьте 1 переменной see_mask_nozonechecks env
$env:SEE_MASK_NOZONECHECKS = 1 Start-Process $msi_file_path /qn -Wait | out-null
вы хотите установить политику выполнения на вашем компьютере с помощью Set-ExecutionPolicy:
Set-ExecutionPolicy Unrestricted
вы можете изучить различные политики выполнения, чтобы увидеть, какой из них подходит именно вам. Взгляните на "
help about_signing
" для получения дополнительной информации.
вы скачали скрипт из интернета?
затем удалите поток NTFS из файла с помощью sysinternal's потоки.exe в командной строке.
cmd> streams.exe .\my.ps1
теперь попробуйте запустить скрипт еще раз.
ничего из этого не сработало в моем конкретном случае. То, что произошло, изменилось на имя NetBIOS из полного доменного имени.
вместо:
\server.domain.net\file.ps1
использование:\server\file.ps1
использование имени обходит конфигурацию "автоматическое обнаружение интрасети" в IE.
смотрите Вариант 1 в блоге здесь: http://setspn.blogspot.com/2011/05/running-powershell-scripts-from-unc.html