Verwendung von Aliasen
Ein Alias ist ein alternativer oder Kurzname für ein Cmdlet oder ein Befehlselement, z. B. eine Funktion, ein Skript, eine Datei oder eine ausführbare Datei. Sie können den Befehl anstatt über den ausführbaren Namen mit dem Alias ausführen.
Befehlsaliase verwalten
PowerShell stellt Cmdlets zum Verwalten von Befehlsaliasen bereit. Der folgende Befehl zeigt die Cmdlets, die Aliase verwalten.
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
Weitere Informationen finden Sie unter about_Aliases.
Verwenden Sie das Cmdlet Get-Alias, um die in Ihrer Umgebung verfügbaren Aliase aufzulisten. Um die Aliase für ein einzelnes Cmdlet aufzulisten, verwenden Sie den Parameter Definition und geben dann den Namen des ausführbaren Befehls an.
Get-Alias -Definition Get-ChildItem
CommandType Name
----------- ----
Alias dir -> Get-ChildItem
Alias gci -> Get-ChildItem
Alias ls -> Get-ChildItem
Über den Parameter Name können Sie die Definition eines einzelnen Alias abrufen.
Get-Alias -Name gci
CommandType Name
----------- ----
Alias gci -> Get-ChildItem
Zum Erstellen eines Alias verwenden Sie den Befehl Set-Alias
. Sie können Aliase für Cmdlets, Funktionen, Skripts und systemeigene ausführbare Dateien erstellen.
Set-Alias -Name np -Value Notepad.exe
Set-Alias -Name cmpo -Value Compare-Object
Kompatibilitätsaliase in Windows
PowerShell verfügt über mehrere Aliase, die es UNIX- und cmd.exe
-Benutzern ermöglichen, vertraute Befehle in Windows zu verwenden. Die folgende Tabelle enthält allgemeine Befehle, das zugehörige PowerShell-Cmdlet und den PowerShell-Alias:
Windows-Befehlsshell | UNIX-Befehl | PowerShell-Cmdlet | PowerShell-Alias |
---|---|---|---|
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 |
Hinweis
Die Aliase in dieser Tabelle sind Windows-spezifisch. Manche Aliase sind auf anderen Plattformen nicht verfügbar.
Dies soll ermöglichen, dass der native Befehl in einer PowerShell-Sitzung funktioniert. Beispielsweise ls
ist nicht als PowerShell-Alias unter macOS oder Linux definiert. Folglich wird der systemeigene Befehl statt Get-ChildItem
ausgeführt.
Alternative Namen für Befehle mit Parametern erzeugen
Sie können Cmdlets, Skripts, Funktionen und ausführbaren Datei einen Alias zuweisen. Im Unterschied zu einigen Unix-Shells können Sie einem Befehl, der Parameter enthält, keinen Alias zuweisen. Sie können beispielsweise zwar dem Cmdlet Get-Eventlog
einen Alias zuweisen, dem Befehl Get-Eventlog -LogName System
jedoch nicht.
Sie müssen eine Funktion erstellen, die den Befehl mit den Parametern enthält.
Weitere Informationen finden Sie unter about_Aliases.
Parameteraliase und Kurznamen
PowerShell ermöglicht Ihnen, Kurznamen für Parameter zu erstellen. Parameteraliase werden mithilfe des Attributs Alias
definiert, wenn Sie den Parameter deklarieren. Parameteraliase können nicht mithilfe der *-Alias
-Cmdlets definiert werden.
Weitere Informationen finden Sie in der Dokumentation über Alias-Attribute.
Zusätzlich zu Parameteraliasen können Sie in PowerShell den Parameternamen mithilfe einiger weniger Zeichen angeben. Sie brauchen lediglich die Zeichen einzugeben, die zum eindeutigen Identifizieren des Parameters erforderlich sind. Das Cmdlet Get-ChildItem
beinhaltet beispielsweise die Parameter Recurse und ReadOnly. Um den Parameter Recurse eindeutig zu identifizieren, müssen Sie lediglich -rec
eingeben. Wenn Sie dies mit dem Befehlsalias kombinieren, kann Get-ChildItem -Recurse
zu dir -rec
verkürzt werden.
Verwenden Sie keine Aliase in Skripts
Aliase sind ein Komfortfeature, das Sie interaktiv in der Shell verwenden können. In Ihren Skripts sollten Sie allerdings immer die vollständigen Befehls- und Parameternamen verwenden.
- Aliase können in einem Profilskript gelöscht oder neu definiert werden.
- Möglicherweise sind nicht alle Aliase, die Sie definieren, für die Benutzer Ihrer Skripts verfügbar.
- Denken Sie daran: Aliase erschweren das Lesen und Verwalten von Code.