-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
Надеюсь, это прояснит ситуацию.