È anche possibile dichiarare i parametri con nome in modo esplicito. Per esempio:
param([switch]$someBoolSwitch=$false, [String]$nameOfSomething="some default string")
Questo permette di passare in argomenti con nome allo script, come il seguente esempio:
.\<nameOfScript.ps1> -someBoolSwitch -nameOfSomething "Slayer Roolz!"
e se omesso -nameOfSomething "Slayer Roolz!"
, quindi $nameOfSomething
sarebbe semplicemente default "some default sting"
. Allo stesso modo, $someBoolSwitch
imposta automaticamente $false
se non diversamente definito.
Questo metodo ha il vantaggio di consentire allo sviluppatore di decidere quali parametri sono necessari e quali possono essere omessi o predefiniti. Inoltre, consente all'utente di inserire argomenti in qualsiasi ordine a loro piace, dal momento che sono nominati e non posizionali.
Uno svantaggio di avere parametri con nome rispetto ai parametri posizionali è che la chiamata da riga di comando può diventare piuttosto grande poiché l'utente deve digitare ogni nome di parametro.