Utiliser des alias de commande dans PowerShell
Si vous avez de l’expérience dans l’utilisation de l’invite de commandes classique de Windows (cmd.exe), vous êtes probablement familiarisé avec les commandes batch telles que :
- dir pour lister les fichiers et dossiers
- cd pour changer de répertoire
- mkdir pour créer des répertoires
Dans de nombreux cas, vous pouvez continuer à utiliser ces commandes dans Windows PowerShell, car, en arrière-plan, ces commandes exécutent des cmdlets PowerShell natives. La commande dir exécute Get-ChildItem, la commande cd exécute Set-Location et la commande mkdir exécute New-Item. Ces commandes fonctionnent avec PowerShell, car ce sont des alias des cmdlets qui effectuent l’action équivalente.
Alias et paramètres
Il est important de noter que les alias ne prennent généralement pas en charge les paramètres utilisés par les commandes d’origine. Par exemple, si vous exécutez la commande dir /o:d dans la console, vous recevez une erreur, car Get-ChildItem ne reconnaît pas le paramètre /o:d. Au lieu de cela, vous pouvez utiliser dir | sort LastAccessTime pour lister le contenu du dossier actuel, trié selon la date et heure du dernier accès, dans l’ordre chronologique.
Get-Alias
PowerShell inclut plus que des alias pour les commandes Linux et batch héritées. Il fournit également d’autres alias tels que gci pour Get-ChildItem, que vous pouvez utiliser pour remplacer une commande complète par sa notation abrégée et réduire la frappe requise. Vous pouvez découvrir les alias, leurs définitions et les commandes qu’ils exécutent à l’aide de la cmdlet Get-Alias. Get-Alias sans paramètre retourne tous les alias définis. Vous pouvez utiliser le paramètre -Name, un paramètre positionnel, qui accepte également les caractères génériques, pour rechercher la définition d’alias spécifiques. Par exemple, l’exécution de la commande Get-Alias di* retourne les alias pour diff et dir.
Vous pouvez également utiliser la cmdlet Get-Alias pour découvrir de nouvelles cmdlets. Par exemple, vous pouvez utiliser la commande batch del pour supprimer un fichier ou un dossier. Si vous entrez la commande Get-Alias del, vous découvrirez que del est un alias de Remove-Item. Vous pouvez même inverser le processus de découverte en exécutant la commande Get‑Alias -definition Remove-Item pour découvrir que Remove-Item a d’autres alias, notamment rd, erase et ri.
Les paramètres peuvent également avoir des alias. Par exemple, le paramètre -s est un alias de -Recurse dans la cmdlet Get-ChildItem. En fait, pour les paramètres, vous pouvez utiliser des noms de paramètre partiels comme des alias, si la partie du nom que vous incluez dans la commande suffit pour identifier le paramètre de manière unique.
New-Alias
Vous pouvez également utiliser la cmdlet New-Alias pour créer un alias personnalisé, que vous pouvez mapper à n’importe quelle cmdlet existante. Cependant, n’oubliez pas que les alias personnalisés ne sont pas enregistrés entre les sessions Windows PowerShell. Vous pouvez utiliser un profil Windows PowerShell pour recréer l’alias chaque fois que vous ouvrez Windows PowerShell.
Lecture supplémentaire : Pour plus d’informations sur la création et l’utilisation d’un profil PowerShell, consultez about_Profiles.
Inconvénients des alias
Les alias peuvent vous permettre d’entrer des commandes plus rapidement. Cependant, ils ont tendance à rendre les scripts plus difficiles à réviser et à comprendre, notamment parce que la syntaxe verbe-nom définit clairement l’action concernée. Les commandes créées avec cette syntaxe sont plus proches du langage naturel. Les alias pour les paramètres et les noms de paramètres partiels rendent les scripts encore plus difficiles à réviser. Dans la plupart des cas, la saisie semi-automatique avec la touche de tabulation rend l’entrée de commandes presque aussi rapide que l’entrée d’un nom d’alias, et ce, tout en garantissant sa précision.