Utilisation d’alias

Un alias est un nom alternatif ou un nom abrégé pour une cmdlet ou pour un élément de commande, comme une fonction, un script, un fichier ou un fichier exécutable. Vous pouvez exécuter la commande en utilisant l’alias au lieu du nom de l’exécutable.

Gestion des alias de commande

PowerShell fournit des cmdlets pour la gestion des alias de commande. La commande suivante montre les cmdlets qui gèrent les alias.

Get-Command -Noun Alias
CommandType Name         Version Source
----------- ----         ------- ------
Cmdlet      Export-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Import-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Remove-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Set-Alias    7.0.0.0 Microsoft.PowerShell.Utility

Pour plus d’informations, consultez about_Aliases.

Utilisez la cmdlet Get-Alias pour lister les alias disponibles dans votre environnement. Pour lister les alias d’une seule cmdlet, utilisez le paramètre Définition et spécifiez le nom de l’exécutable.

Get-Alias -Definition Get-ChildItem
CommandType     Name
-----------     ----
Alias           dir -> Get-ChildItem
Alias           gci -> Get-ChildItem
Alias           ls -> Get-ChildItem

Pour obtenir la définition d’un seul alias, utilisez le paramètre Name.

Get-Alias -Name gci
CommandType     Name
-----------     ----
Alias           gci -> Get-ChildItem

Pour créer un alias, utilisez la commande Set-Alias. Vous pouvez créer des alias pour des cmdlets, des fonctions, des scripts et des fichiers exécutables natifs.

Set-Alias -Name np -Value Notepad.exe
Set-Alias -Name cmpo  -Value Compare-Object

Alias de compatibilité dans Windows

PowerShell a plusieurs alias qui permettent aux utilisateurs de UNIX et de cmd.exe d’utiliser des commandes familières dans Windows. Le tableau suivant présente des commandes courantes, la cmdlet PowerShell associée et l’alias PowerShell :

Shell de commandes Windows Commande UNIX Applet de commande PowerShell Alias PowerShell
cd, chdir cd Set-Location sl, cd, chdir
cls clear Clear-Host cls clear
copy cp Copy-Item cpi, cp, copy
del, erase, rd, rmdir rm Remove-Item ri, del, erase, rd, rm, rmdir
dir ls Get-ChildItem gci, dir, ls
echo echo Write-Output write echo
md mkdir New-Item ni
move mv Move-Item mi, move, mi
popd popd Pop-Location popd
pwd Get-Location gl, pwd
pushd pushd Push-Location pushd
ren mv Rename-Item rni, ren
type cat Get-Content gc, cat, type

Notes

Les alias de cette table sont propres à Windows. Certains alias ne sont pas disponibles sur d’autres plateformes. Cela permet à la commande native de fonctionner dans une session PowerShell. Par exemple, ls n’est pas défini comme alias PowerShell sur macOS ou Linux pour que la commande native soit exécutée au lieu de Get-ChildItem.

Création de noms alternatifs pour des commandes avec des paramètres

Vous pouvez affecter un alias à une cmdlet, un script, une fonction ou un fichier exécutable. Contrairement à certains shells Unix, vous ne pouvez pas affecter un alias à une commande avec des paramètres. Par exemple, vous pouvez affecter un alias à la cmdlet Get-Eventlog, mais vous ne pouvez pas affecter un alias à la commande Get-Eventlog -LogName System. Vous devez créer une fonction qui contient la commande avec des paramètres.

Pour plus d’informations, consultez about_Aliases.

Alias de paramètre et noms abrégés

PowerShell fournit également des moyens de créer des noms abrégés pour les paramètres. Les alias de paramètre sont définis en utilisant l’attribut Alias quand vous déclarez le paramètre. Ceux-ci ne peuvent pas être définis en utilisant les cmdlets *-Alias.

Pour plus d’informations, consultez la documentation Attribut d’alias.

En plus des alias de paramètre, PowerShell vous permet de spécifier le nom du paramètre en utilisant le moins possible de caractères nécessaires pour identifier le paramètre de façon univoque. Par exemple, la cmdlet Get-ChildItem a les paramètres Recurse et ReadOnly. Pour identifier de façon univoque le paramètre Recurse, vous devez fournir seulement -rec. Si vous combinez cela avec l’alias de la commande, Get-ChildItem -Recurse peut être abrégé en dir -rec.

N’utilisez pas d’alias dans les scripts

Les alias sont une fonctionnalité pratique à utiliser de façon interactive dans le shell. Vous devez toujours utiliser les noms complets des commandes et des paramètres dans vos scripts.

  • Les alias peuvent être supprimés ou redéfinis dans un script de profil
  • Les alias que vous définissez peuvent ne pas être disponibles pour l’utilisateur de vos scripts
  • Les alias rendent votre code plus difficile à lire et à maintenir