Sono abbastanza sicuro di non avere altre opzioni oltre a quello che ho scoperto, ma volevo scegliere il cervello di internet collettivo.Come contrassegnare un parametro di commutazione come obbligatorio in Powershell
Io preferisco usare un [interruttore] parametro quando passa i valori booleani di funzioni personalizzate. Tuttavia, ho alcuni casi in cui volevo contrassegnare il parametro switch come obbligatorio. Questo può essere effettuato opzionalmente tramite [parametro (obbligatorio = $ true)] sul parametro. Tuttavia, non mi piace il prompt dell'interfaccia utente che appare. Preferisco di gran lunga fare un'eccezione.
Tuttavia, un interruttore può essere vero o falso e la proprietà "IsPresent" non fa alcuna distinzione. Se mi passa un parametro switch come -example: $ false, l'interruttore riferisce che $ example.IsPresent è falso!
Ho fatto ricorso a un [bool]. Ad esempio:
param
(
[bool]$theValue = $(throw('You didn't specify the value!'))
);
Sono disponibili altri trucchi?
Perché non avere due interruttori? 'example' e' exampleOff'. Quindi, quando nessuno dei due 'IsPresent' lancia un errore. – jpaugh