PowerShell Cmdlet (Commandlet) werden die Befehlchen in PowerShell genannt. PowerShell Cmdlets sind keine Stand-Alone-.EXE-Dateien und können ohne die PowerShell nicht ausgeführt werden. Cmdlets erhalten ihre Eingabe/Steuerung über Parameter als Text oder Objekt und werden so an die eigenen Bedürfnisse angepasst. Optional können Cmdlets auch Ausgaben in Form von Objekten erzeugen.
Der Cmdlet-Name folgt der Namenskonvention Tätigkeit-Tätigkeitsbereich (Verb-Substantiv), zum Beispiel Get-Help, Set-Location oder Stop-Process. Daher wird ein PowerShell Cmdlet genau an eine Tätigkeit in einem Tätigkeitsbereich ausgerichtet. Zum Beispiel ermittelt Get-Process die aktuellen Prozesse und Stop-Process ist nur für das Stoppen von Prozessen verantwortlich.
Neben der visuellen Ausgabe in der Konsole, geben Cmdlets auch Objekte über Pipe | an das nächste Cmdlet weiter. Zum Beispiel wird mit Get-Process (Out-File -FilePath C:\Temp\LfdProzesse.txt die aktuellen Prozesse in eine Datei geschrieben.
Cmdlet Parameter können Eingaben direkt von der Befehlszeile oder von Objekten akzeptieren, die über die Pipeline an das Cmdlet übergeben werden. Diese Parameter-Eingabe bezeichnet man als Argument oder Wert. Über Parameter werden auch Cmdlets von Außen gesteuert. Hierbei spricht man von einem Switch-Parameter. Parameter werden immer mit einem Bindestrich -Path begonnen. Einige Parameter können weg gelassen werden – hier reicht das Argument allein. Ob das möglich ist oder nicht, kann in der Hilfe des jeweiligen Cmdlets erlesen werden.
Splatting ist eine Methode in PowerShell, eine Sammlung von Parameterwerten in Form eines HashTables an ein Cmdlet als Einheit zu übergeben. Das @-Symbol teilt PowerShell mit, dass es sich bei dieser Variablen um eine Sammlung von Parameter-Werten handelt und nicht um ein Übergabeobjekt.
Aliase wurden für die gebräuchlisten PowerShell Cmdlets erstellt aber auch eigene können hinterlegt werden. Aliase erleichtern den Umstieg, da es zum Beispiel für das Cmdlet Get-ChildItem die Aliase dir und ls gibt. Aliase haben auch die Aufgabe den Tastaturanschlagsaufwand auf erträgliches Maß im Host zu reduzieren. Um nicht jedesmal Test-NetConnection schreiben zu müssen, gibt es für dieses Cmdlet den Alias tnc. Da Aliase wie Variable gesetzt, geändert oder gelöscht werden können, sollten Sie die Benutzung von Aliasse in Skripten vermeiden.
Wissenstest
Dieser Wissenstest über PowerShell Aliase ist kostenlos und kann anonym erfolgen. Beantworten Sie 6 zufällige Fragen aus diesem Themenbereich. Die Auswertung des Wissenstests erfolgt sofort am Ende.
Wiederkehrende Skript-Aufgaben oder z.B. unübersichtliche Anmelde-Skripte können durch den neuen PowerShell-Ansatz aufgewertet werden. Hier werden keine langen Skripte mehr sondern viele kleine Teilaufgaben, die jeweils durch ein Cmdlet repräsentiert werden, entwickelt. Wenn Sie ein eigenes Cmdlet erstellen erhöhen Sie die Lesbarkeit, ermöglichen eine Wiederverwendung an anderen Stellen und die Wartbarkeit Ihres Codes steigt. Auch ist es möglich Cmdlets per GUI in einem Windows-Fenster zu bedienen oder spätere Cmdlet-Code-Änderungen durch automatische Komponententest (UTest) zu prüfen. Auch spricht der nicht vorhanden Aufwand nichts dagegen schon heute mit der Cmdlet Erstellung zu beginnen.
Windows PowerShell (für Windows) und PowerShell Core (für Windows, MacOS und Linux) wurden in PowerShell 7 zusammengeführt und bilden deren Nachfolger. PowerShell 7 ist auch für .NET-Entwickler attraktiv, da man in einer einzigen Skriptsprache plattformübergreifend .NET-Anwendungen schreiben kann. Welche Änderungen im Detail die PowerShell 7 enthält erfahren Sie anhand praktischen Beispielen in diesem Artikel.
Über die Pipe transportieren Cmdlets ihre Daten per Objekt. Das Objekte ist unser Daten- und Funktionsträger deren Umfang vom entsprechenden Typen abhängt. Darüber hinaus können wir temporär die Objekte um weitere nützliche Member, wie Eigenschaften und Methoden erweitern.
Aus der alten DOS-Tretmühle heraus zu kommen ist oft nicht leicht da die neuen Cmdlets meist abenteuerliche Name besitzen auf die man so einfach nicht kommt. Hier zeige ich Ihnen wie Sie aus über 2.000 Cmdlets dennoch Ihres schnell finden können.
Ich biete Ihnen mein Wissen als Schulung, Seminar, Workshop oder Coaching an. Sie können die Themenblöcke frei konfigurieren oder um ihre Wunsch-Themen ergänzen. Gerne berate ich Sie für ideales Können-Ziel.
Testen Sie Ihr PowerShell Wissen! Zu den wichtigsten PowerShell Themenbereichen finden Sie hier Wissenstests, um sich selbst zu prüfen. Kostenlos und ohne Hintergedanken.
Sie möchten eine Vorstellung bekommen was PowerShell eigentlich ist? Wie PowerShell bei der automatisierten Konfiguration von Computer-Systeme unterstützt? Oder Erfahrungen im Programmieren sammeln? Dann ist dieses einsteiger freundliche PowerShell Tutorial genau das richtige für Sie als Anfänger aber auch als IT-Profi. In diesem Überblick bekommen Sie erklärt wie PowerShell und Tools installiert werden und wie Sie diese benutzten. Für Ihre ersten Schritte bekommen Sie das Rüstzeug an die Hand, um autark kleinere Aufgaben zu lösen, um im PowerShell-Jungle zu überleben.
Wie funktioniert die Pipeline-Verarbeitung in PowerShell? Welche Bedeutung haben die Verfahren ByValue und ByPropertyName beim Binden an Parameter? Welche Regeln gilt beim Pipelining zu beachten? Was ist Splatting und wie funktioniert es? Dieses Tutorial erklärt an praktischen Beispielen die Pipeline, so das Sie dieses Werkzeug effizient für sich arbeiten lassen können. Oder Testen Sie Ihr Wissen in einem Quiz.