Как пометить параметр переключателя как обязательный в Powershell

Я почти уверен, что у меня нет других вариантов, кроме того, что я обнаружил, но я хотел выбрать коллективный интернет-мозг .

Я предпочитаю использовать параметр [переключатель] при передаче логических значений в пользовательские функции. Однако у меня есть несколько случаев, когда я хотел бы отметить параметр переключателя как обязательный. При желании это можно сделать с помощью [параметр (Обязательный = $ true)] в параметре. Однако мне действительно не нравится появляющееся приглашение пользовательского интерфейса. Я предпочитаю генерировать исключение.

Но переключатель может иметь значение true или false, а свойство IsPresent не делает различий. Если я передаю параметр переключателя как -example: $ false , переключатель сообщает, что $ example.IsPresent имеет значение false !

Я прибегал к использованию [bool]. Например:

param
(
   [bool]$theValue = $(throw('You didn't specify the value!'))
);

Могу ли я еще что-нибудь проделать?

8
задан skaffman 30 October 2011 в 23:30
поделиться