14 min read
Privacy Management mit PowerShell – hier kommen die wichtigsten Funktionen von Priva auf einen Blick
Kennst du Priva? Datenschutzmanagement, Datenschutzrichtlinien, Regeln und Subjektrechte-Anfragen (data subject rights...
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:
-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.
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.
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.
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.
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:
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.
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.
Jul 16, 2024 by Damian Scoles
Kennst du Priva? Datenschutzmanagement, Datenschutzrichtlinien, Regeln und Subjektrechte-Anfragen (data subject rights...
Jul 3, 2024 by Matthias Jütte
Jeden letzten Freitag im Juli wird der System Administrator Appreciation Day gefeiert, einen besonderen Tag, der den...
Jun 28, 2024 by Philip Lorenz
Windows PowerShell 5.1 ist in der Regel vorinstalliert und der Standard – lohnt sich ein Wechsel auf PowerShell 7, oder...
Marco ist im Herzen ein DevOps-Ingenieur und verwendet PowerShell in Kombination mit anderen Stacks, um die Bereitstellung zu automatisieren, Datenanalysen durchzuführen und Unternehmen in die Cloud zu bringen. Er verwendet PowerShell seit 2018 auf allen Plattformen als seine primäre Befehlszeile und versucht immer, mehr Leute dazu zu bewegen, von bash und anderen zu wechseln.