Skip to the main content.

ScriptRunner Blog

PowerShell Aliasing

Inhaltsverzeichnis

Post Featured Image

Aliasing ist eine der wesentlichen Möglichkeiten, die Arbeit mit jeder Kommandozeile zu beschleunigen.

Es kann Ihre Arbeit auf vielfältige Weise beschleunigen, indem es Sie davon abhält, häufig verwendete Befehle einzutippen und den gelegentlichen Tippfehler zu machen.

Zur Interaktion mit Aliassen in PowerShell verwenden wir die Familie der Commandlets, die mit „Alias“ enden. Sie können sie einfach mithilfe von Get-Help aufrufen:

 


 

 

Aliasse erstellen

Um einen neuen Alias zu erstellen, verwenden wir das Commandlet New-Alias.

-Name und -Value sind erforderlich und sollten keine Leerzeichen enthalten. Die Beschreibung ist optional, kann Ihnen aber dabei helfen, sich zu erinnern, warum Sie diesen Alias erstellt haben.

-Value ist nicht auf Commandlets beschränkt, Sie können auch ausführbare Dateien auf Ihrem Laufwerk verwenden, indem Sie einen vollständigen Pfad angeben.

Beim Aliasing von Commandlets können Sie sogar alle Flags des aliasierten Commandlets verwenden, während Sie auf den Alias verweisen – die Vervollständigung per Tab funktoniert ebenfalls.

Wenn Sie jemals eine Fehlermeldung erhalten, wenn Sie versuchen, einen Aliasnamen zu erstellen, ist es sehr wahrscheinlich, dass es bereits einen Alias mit diesem Namen gibt.

Um diesen zu überschreiben, können Sie den Switch -Force verwenden, wobei ich empfehlen würde, den vorhandenen Alias vorher durch Ausführen von Get-Alias zu überprüfen.

 

Aliasse anzeigen

PowerShell wird mit vielen bereits aktivierten Aliassen geliefert, Sie können diese durch Ausführen von Get-Alias anzeigen – Dies zeigt Ihnen alle in der aktuellen Sitzung aktivierten Aliasse an.

Zusätzliche Filterung ist nach mehreren Kriterien möglich, wie z.B. -Definition oder -Name des Alias. Beide Parameter unterstützen Platzhalter, wodurch Sie z.B. alle Aliasse für Get- Commandlets finden können.

 

Dauerhafte Aliasse

Alle Änderungen, die wir bisher gemacht haben, verschwinden, sobald Sie Ihre aktuelle PowerShell-Sitzung schließen, da das Setzen von Aliassen keine permanente Operation ist.

Daher möchten wir unsere Aliasse in einer Profildatei definieren. Wenn Sie erfahren wollen, wie das funktioniert, lesen Sie den entsprechenden Artikel in der Microsoft Dokumentation.

Innerhalb Ihres Profils können Sie den gleichen Befehl zum Erstellen Ihrer Aliase verwenden wie in Ihrer interaktiven Sitzung.

 

Wenn Sie ein paar Inspirationen zu von mir gesammelten Aliassen haben möchten, schauen Sie sich mein persönliches Profil an, das ich kürzlich veröffentlicht habe.

 

Einschränkungen

Aliasse haben leider eine gravierende Einschränkung: Sie können die Parameter des zu aliasenden Commandlets nicht innerhalb des Wertes Ihres Commandlets verwenden.

Zum Beispiel wird das folgende Beispiel nicht funktionieren. Bei der Erstellung wird kein Fehler auftreten, aber beim Ausführen wird PowerShell nicht in der Lage sein, das Commandlet zu finden.

Es gibt eine Möglichkeit, dies zu umgehen, sie ist jedoch recht begrenzt, da sie die Möglichkeit der Tabulatorvervollständigung oder sogar der Verwendung der anderen Parameter, die das aliasierte Commandlet liefern kann, aufhebt.

Leider ist mir keine Möglichkeit bekannt, diese Beschränkung zu umgehen. Wenn Sie eine solche kennen, wenden Sie sich bitte an mich, und ich füge sie gerne für alle anderen Interessierten hinzu.

Nachtrag: Kurz nach Veröffentlichung dieses Artikels lieferte Achim Wieser von ScriptRunner eine mögliche Lösung für dieses Problem, die die Verwendung einer erweiterten Funktion als Wrapper beinhaltete:

 

 

Eine detailliertere Beschreibung seines Ansatzes finden Sie auf Marco Kamners Blog.

 

Wenn man keine Aliasse verwenden sollte

Aliasse sind eine großartige Möglichkeit, Ihre tägliche Arbeit zu beschleunigen, sie sollten jedoch nicht in Scripten verwendet werden, die für die langfristige Verwendung oder Verbreitung gedacht sind.

Der wichtigste Grund ist die Kompatibilität. Stellen Sie sich vor, Sie haben ein Alias wie oben beschrieben und verwenden es in Ihren Scripten. Jeder andere, der Ihr Script ausführt, wird dann mit einer Fehlermeldung begrüßt, wenn er das Script ausführt und den Alias erreicht.

Oder noch schlimmer, hinter dem Alias könnte ein anderer Befehl stehen, der das ganze Script zerstört oder seine Auswirkungen verändert.

Bei der Arbeit in  VSCode werden bei der Verwendung von Aliassen standardmäßig Warnungen angezeigt und die standardmäßigen ms-vscode.powershell-Erweiterungen bieten sogar eine automatische Option, jeden Alias in Ihrem Code aufzulösen, indem Sie die Befehlsleiste öffnen und „PowerShell: Expand Alias“ eingeben.

 

Fazit

Wie dieser Artikel zeigt, ist die Verwendung von PowerShell-Aliassen recht einfach und eine gute Möglichkeit, bei der Verarbeitung wiederkehrender und sich wiederholender Aufgaben Zeit zu sparen. Gleichermaßen können Sie Aliasse verwenden, um sich bestimmte Cmdlets zu merken und die Arbeit mit Ihren persönlichen Anwendungsfällen zu erleichtern.

Wenn Sie an weiteren Tipps interessiert sind, wie Sie Ihre tägliche Arbeit mit PowerShell erleichtern können, lesen Sie unbedingt unseren Artikel über die Top 10 PowerShell-Befehle zur Fehlerbehebung bei Windows-Problemen.

 

Zusammenhängende Posts

5 min read

Microsoft Exchange mit PowerShell managen

2 min read

VMUG Webcast: VMware Management meistern mit PowerCLI

Über den Autor: