14/12/2024

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.

Les alias PowerShell

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.

Liste des alias PowerShell

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 :

Créer un alias PowerShell avec New-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.


livre pour apprendre PowerShell
author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.