Cmdlets
Cmdlets (ausgesprochen “command-lets”) sind die grundlegenden Befehle in PowerShell. Sie sind leicht erkennbar an ihrer Verb-Noun-Struktur, wie zum Beispiel Get-Item
oder Set-Location
. Cmdlets sind in der Regel in .NET-Klassen implementiert und bieten Funktionen zum Verwalten und Automatisieren von Aufgaben.
> Get-Service
Aliase
n PowerShell sind Aliase Kurznamen für Cmdlets, die das Tippen und Ausführen von Befehlen erleichtern. Viele Aliase sind bereits vordefiniert, und Sie können auch Ihre eigenen Aliase erstellen.
> gci
gci
ist ein Alias für das Cmdlet Get-ChildItem
. Die Ausführung dieses Alias gibt den Inhalt des aktuellen Verzeichnisses aus.
Um einen neuen Alias zu erstellen, verwenden Sie das Cmdlet New-Alias
:
> New-Alias -Name “myalias” -Value “Get-Process”
Jetzt können Sie einfach myalias
eingeben, um Get-Process
auszuführen.
Um alle verfügbaren Aliase abzurufen:
> Get-Alias
Parameter
Cmdlets können Parameter akzeptieren, die es Ihnen ermöglichen, das Verhalten des Befehls anzupassen. Parameter können entweder benannt oder positionsabhängig sein. Benannte Parameter werden mit einem Bindestrich und dem Parameternamen angegeben, während positionsabhängige Parameter ohne Namen angegeben werden.
> Get-ChildItem -Path C:\Windows -Recurse -Filter “*.txt”
In diesem Beispiel hat das Cmdlet Get-ChildItem
drei Parameter: -Path
, -Recurse
und -Filter
. Der Parameter -Path
hat den Wert C:\Windows
, -Recurse
ist ein schalterparameter (ohne Wert) und -Filter
hat den Wert *.txt
.
Pipelining
Das Pipelining ist eine der leistungsfähigsten Funktionen von PowerShell. Es ermöglicht Ihnen, die Ausgabe eines Cmdlets als Eingabe für ein anderes Cmdlet zu verwenden. Dazu verwenden Sie das Pipe-Symbol (|
).
> Get-Service | Where-Object { $_.Status -eq “Running” }
In diesem Beispiel gibt das Cmdlet Get-Service
eine Liste aller Dienste aus. Die Ausgabe wird dann an das Cmdlet Where-Object
weitergeleitet, das die Liste nach Diensten filtert, deren Status “Running” ist.
Das Pipelining ermöglicht es Ihnen, komplexe Aufgaben in kleinere, einfachere Schritte zu zerlegen und die Ausgabe eines Befehls effizient an einen anderen Befehl weiterzugeben, ohne temporäre Variablen oder Dateien zu verwenden.
Anführungszeichen und Escape-Zeichen
In PowerShell gibt es zwei Arten von Anführungszeichen: einfache ('
) und doppelte ("
). Einfache Anführungszeichen werden verwendet, um eine Zeichenkette als Literal zu behandeln, ohne Variablen oder Escape-Zeichen zu interpretieren. Doppelte Anführungszeichen hingegen ermöglichen die Auswertung von Variablen und Escape-Zeichen innerhalb der Zeichenkette.
Kommentare
Semicolon als Befehlstrenner
In PowerShell können Sie mehrere Befehle in einer einzigen Zeile schreiben, indem Sie sie mit einem Semikolon (;
) trennen. Dies ist nützlich, wenn Sie kurze Befehle ausführen möchten, ohne mehrere Zeilen zu verwenden.
> $currentTime = Get-Date; Write-Host "Current time: $currentTime"
In diesem Beispiel werden zwei Befehle (Get-Date
und Write-Host
) in einer Zeile geschrieben und durch ein Semikolon getrennt.