Я хотел бы знать, передан ли параметр whatif командлету.Как узнать, программно ли передан параметр «whatif» командному компьютеру?
напр: удалить-mycmdlet -whatif
Я пытался сделать это, находя значение переменной: WhatIfPreference.
Но его всегда дает ложь.
Не могли бы вы сообщить мне, как я могу узнать, прошел ли параметр whatif?
Большое спасибо,
С уважением, Naresh
Большое спасибо за быстрый ответ. Это настраиваемый командлет, реализованный в .net (C#). Как я могу сделать это программно? в основном я использовал «объект PSCmdlet GetVariableValue (имя строки)». Он всегда возвращал false. Btw, есть ли какой-либо равный в C# для $ PSBoundParameters.ContainsKey ('WhatIf')? – Dreamer
Да, я уверен, что я реализовал поддержку надлежащим образом, так как параметры подтверждения/whatif работают так, как ожидалось, когда пользователь их передает. Я объявил свой командлет со следующими атрибутами: [Cmdlet (VerbsCommon.Remove, «EmcLun», SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] Просто, что мне нужно знать, что пользователь прошел этот параметр, но не знает, как делать это программно в .net. – Dreamer
ОК, схватил VS и попытался найти то же самое в «правильных» командлетах. Вы найдете мой ответ на второй поток ... :) – BartekB