Подтвердить что ты не робот

Powershell New-Item: как принять подтверждение автоматически

Я пытаюсь создать новый каталог на сетевом диске с помощью powershell script, но он продолжает подсказывать мне

"Подтвердите: вы уверены, что хотите выполнить это действие..."

Есть ли способ переопределить это, поэтому он не спрашивает меня, так как я запускаю этот script из веб-интерфейса.

Вот мой вызов:

New-Item $rollbackDirectory -type Directory -Force

Он делает то же самое, с параметром -Force

или без него <

Я тоже пробовал этот формат без везения

New-Item -name $rollbackName -itemtype directory -path $rollbackdrive -Debug -Force
4b9b3361

Ответ 1

-confirm нужно указывать только в том случае, если командлет запрашивает подтверждение. Независимо от того, будет ли сам командлет запрашивать подтверждение или нет, зависит от разработчика командлета, который может установить высокий, средний, низкий для командлета на основе его эффекта. Основываясь на значении $ConfirmPreference, вы получите автоматическое подтверждение для командлета. Значение по умолчанию для $ConfirmPreference высокое, а уровень для New-Item - средний. Поэтому, если запрос New-Item запрашивает подтверждение, значение $ConfirmPreference должно быть изменено на средний или низкий.

Измените его с помощью $ConfirmPreference="high" или даже $ConfirmPreference="none", чтобы сделать New-Item не запрос, или ваше решение -confirm:$false также работает, переопределяя $ConfirmPreference.

Разъясняется здесь: http://blogs.msdn.com/b/powershell/archive/2006/12/15/confirmpreference.aspx

Надеюсь, что это очистит.

Ответ 2

Я закончил тем, что пытался это сделать (хотя я читал в другом сообщении SO, что это неверно):

New-Item $rollbackDirectory -type Directory -Force -Confirm:$false

И это сработало! Надеюсь, это поможет другим с той же проблемой.