Les alias de cmdlets PowerShell
I. Présentation
Dans ce chapitre, nous allons apprendre à lister les alias PowerShell et à créer un alias personnalisé. Mais, au fait, qu'est-ce qu'un alias ? PowerShell prend en charge les alias, c'est-à-dire des noms alternatifs pour les commandes existantes.
Autrement dit, un cmdlet PowerShell peut être appelé à partir de plusieurs noms différents, et chaque nom alternatif correspond à un alias. Grâce à un alias, nous pouvons raccourcir le nom de certains cmdlets, ce qui est pratique lorsque l'on saisit des commandes directement dans la console. En effet, le cmdlet "Get-ChildItem" qui permet de lister le contenu d'un répertoire peut être raccourci en "gci", voire en "ls" et "dir", car il a plusieurs alias.
II. Lister les alias PowerShell
Pour obtenir la liste des alias PowerShell présents sur votre machine, vous devez exécuter la commande suivante :
Get-Alias
Dans PowerShell 7, il y a 140 alias de commandes natifs. Certains alias font référence à des commandes MS-DOS, tandis que d'autres font référence à des commandes Linux. L'objectif étant de faciliter l'utilisation de la ligne de commande sur Linux et Windows en créant un "pont" entre les noms de commande.
Par exemple, la commande "wget" qui permet de télécharger des fichiers sous Linux, correspond à un alias PowerShell du cmdlet "Invoke-WebRequest" qui a la même fonction. Par défaut, cet alias est disponible uniquement avec Windows PowerShell.
Nous pouvons le vérifier car Get-Alias peut afficher les alias d'un cmdlet spécifique :
Get-Alias -Definition Invoke-WebRequest
Nous pouvons voir que le cmdlet Invoke-WebRequest a trois alias : wget, iwr, curl. Le fait d'utiliser l'un de ces quatre noms, si l'on tient compte également du nom d'origine du cmdlet, donnera le même résultat.
À l'inverse, nous pouvons voir à quel cmdlet fait référence un alias :
Get-Alias -Name wget
L'information se vérifie :
En mode console, l'alias qui est le plus utilisé, c'est probablement "cd" qui fait référence au cmdlet PowerShell "Set-Location". Il permet de se déplacer dans l'arborescence de dossiers de la machine locale, et cette commande est aussi compatible sur Linux.
III. Créer un alias
PowerShell prend en charge plusieurs cmdlets pour manipuler les alias de commandes, notamment "New-Alias" pour créer un alias, ainsi que "Set-Alias" pour modifier un alias existant, ou encore "Import-Alias" et "Export-Alias" qui permettent respectivement d'importer une liste d'alias ou d'export les alias vers un fichier.
La déclaration d'un nouvel alias s'effectue de la façon suivante :
New-Alias <nom de l'alias> <nom du cmdlet>
Ainsi, nous pourrions créer les alias "restart" et "reboot" pour le cmdlet "Restart-Computer" qui sert à redémarrer l'ordinateur. Ce qui donne :
New-Alias restart Restart-Computer
New-Alias reboot Restart-Computer
Ensuite, nous pouvons vérifier la présence de ces deux alias :
Il est à noter que ces alias seront valides uniquement dans la session PowerShell en cours. Dès que la console PowerShell sera fermée, ces alias seront perdus, et il faudra les recréer à chaque fois.
Pour créer un alias persistant sur une machine locale, vous devez l'intégrer dans votre profil PowerShell. Nous verrons dans un prochain chapitre ce qu'est le profil PowerShell et comment il peut être personnalisé. Ce sera l'occasion de voir comment intégrer un alias à ce profil.
IV. Conclusion
Bien que les alias soient très pratiques, notamment, car ils représentent un gain de temps lorsque l'on est dans une console, il est recommandé de ne pas les utiliser dans les scripts. En effet, l'utilisation d'alias peut être source d'erreurs et d'incompréhension : pensez à la personne qui va reprendre, relire, votre code.