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

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

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

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

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

New-Item $rollbackDirectory -type Directory -Force

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

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

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

2 ответов


-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

надеюсь, это все прояснит.


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

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

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