Cmdlets, Aliase, Funktionen und Module
Die Powershell ist zu sehr großen Teilen kompatibel mit der alten Windows-Kommandozeile. Dies wird dadurch erreicht, dass Powershell ausführbare und Batch-Dateien sowie VB-Skripte direkt starten kann. Außerdem sind viele Kommandozeilen-Befehle entweder durch Funktionen (=Powershell-Skripte) oder durch Alternative Namen, die auf ein Kommando verweisen - sogenannte Aliase - abgebildet. Die eigentliche Stärke von Powershell machen aber die Cmdlets - Commandlets ausgesprochen - aus.
Cmdlets sind nach einem festen Namensschema aufgebaut. Sie beginnen immer mit einem Verb, das durch einen Bindestrich direkt mit einem Ding (korrekter als Noun oder Nomen bezeichnet) verbunden ist. Achten Sie darauf, dass Sie kein Leerzeichen zwischen das Verb und das "Ding" setzen.
Verb-Ding
Die Verben sind vorgegeben. Powershell kann eine Liste aller erlaubten Verben ausgeben:
Get-Verb
Eine Auflistung aller zur Verfügung stehenden Kommandos erhalten Sie mit Get-Command:
Get-Command
Sie können sich auch ausschließlich Aliase ausgeben lassen:
Get-Command -CommandType Alias
Alternativ können Sie Get-Alias verwenden.
Get-Alias
Get-Alias gibt allerdings keine Aliase zurück, die aus Erweiterungen (Modulen) exportiert sind, so dass Sie mit Get-Command die vollständigere Auflistung bekommen.
Um sich alle Funktionen anzeigen zu lassen, suchen Sie nach dem Kommandotyp "Function":
Get-Command -Commandtype Function
Funktionen sind in Powershell-Skripte oder WMI-Abfragen, die wie ein Cmdlet mit der Verb-Ding Syntax aufgerufen werden können. Sie verhalten sich wie Cmdlets, sind aber intern anders aufgebaut. Wie Sie selbst Funktionen schreiben können, erfahren Sie im Abschnitt Funktionen.
Die Definition (den Skriptcode) einer Funktion kann man aus den Eigenschaften Scriptblock oder Definition abfragen:
(get-command -Name cd..).ScriptBlock
Die runden Klammern um das Kommando sorgen dafür, dass zuerst der Code in runden Klammern ausgeführt wird, während der Punkt auf eine Objekteigenschaft verweist. Die Funktion der runden Klammern wird später noch genauer erläutert. Auf die Punkt-Schreibweise und Objekteigenschaften wird im Abschnitt Objekte eingegangen.
Powershell bringt, genau wie die Linux-Kommandozeile, eine eigene Hilfe mit. Sie wird über das Cmdlet Get-Help aufgerufen:
Get-Help
Get-Help -name Get-Command
Get-Help -Name Get-Command -Showwindow # Gibt die Hilfe in einem Fenster aus Get-Help -Name About*
Wenn Sie Get-Help mit dem Parameter -Showwindow aufrufen, wird die Hilfe statt in der Konsole in einem Fenster ausgegeben.
Alle Artikel über die Funktionsweise von Powershell starten mit dem Schlüsselwort About. Die Raute im Beispiel in Zeile 3 ist ein Kommentar. Der Text hinter der Raute wird von Powershell ignoriert.
Get-Help
Get-Help -name Get-Command
Get-Help -Name Get-Command -Showwindow # Gibt die Hilfe in einem Fenster aus Get-Help -Name About*