Comment gérer les arguments de ligne de commande en PowerShell

Quel est le "meilleur" moyen de gérer les arguments de ligne de commande?

Il semble comme il y a plusieurs réponses sur ce qu'est la "meilleure" façon est et en conséquence, je suis coincé sur la façon de gérer quelque chose d'aussi simple que:

script.ps1 /n name /d domain

ET

script.ps1 /d domain /n name.

Est-il un plugin qui permet de gérer ce mieux? Je sais que je suis en train de réinventer la roue ici.

Évidemment ce que j'ai déjà n'est pas joli et sûrement n'est pas le "meilleur", mais il fonctionne.. et c'est LAID.

for ( $i = 0; $i -lt $args.count; $i++ ) {
    if ($args[ $i ] -eq "/n"){ $strName=$args[ $i+1 ]}
    if ($args[ $i ] -eq "-n"){ $strName=$args[ $i+1 ]}
    if ($args[ $i ] -eq "/d"){ $strDomain=$args[ $i+1 ]}
    if ($args[ $i ] -eq "-d"){ $strDomain=$args[ $i+1 ]}
}
Write-Host $strName
Write-Host $strDomain