Inhaltsverzeichnis
Was ist eigentlich Switch Case in PowerShell und wie verwendet man diese? In PowerShell ist der switch-Befehl im Prinzip eine Kontrollstruktur. Diese verwendet man, um verschiedene Aktionen basierend auf dem Wert eines Ausdrucks auszuführen.
Es ist hauptsächlich dann sinnvoll, wenn Du mehrere Bedingungen überprüfen und unterschiedliche Aktionen für jede Bedingung ausführen möchtest. Im Gegensatz zu einer Reihe von if-else-Anweisungen ist der switch-Befehl oft übersichtlicher und leichter zu lesen.
Switch Case in PowerShell – Grundlegende Syntax
Das folgende Beispiel zeigt dir dabei als Erstes die grundlegende Syntax. Es werden hier im Prinzip zwei Fälle unterschieden und es stehen drei Aktionen zur Verfügung. Der Ablauf ist dabei wie folgt.
switch ($variable) {
"Wert1" {
# Aktion für Wert1
}
"Wert2" {
# Aktion für Wert2
}
Default {
# Standardaktion, falls kein anderer Fall zutrifft
}
}
Beispielanwendung 1 zur Switch case in PowerShell – Zeichenketten
Angenommen, Du hast eine Variable, die den Wochentag speichert, und Du möchtest basierend auf dem Wochentag eine Nachricht ausgeben, dann könntest du hier sehr einfach die Switch Case in PowerShell verwenden.
Im ersten Teil wird der Variablen »$tag« die Zeichenkette „Montag“ übergeben.
Jetzt wird geprüft, bei welcher Aktion der Inhalt der Variablen übereinstimmt. Wenn dem so ist, wird die Aktion durchgeführt. In diesem Beispiel wird mit dem Cmdlet Write-Output ein entsprechender Text ausgegeben.
$tag = "Montag"
switch ($tag) {
"Montag" {
Write-Output "Es ist der Anfang der Woche!"
}
"Freitag" {
Write-Output "Das Wochenende steht vor der Tür!"
}
"Samstag" {
Write-Output "Genieße deinen freien Tag!"
}
"Sonntag" {
Write-Output "Der letzte Ruhetag vor der neuen Woche."
}
Default {
Write-Output "Ein normaler Arbeitstag."
}
}
Für das Erstellen von PowerShell Scripts eignet sich neben der Windows PowerShell ISE auch hervorragend Visual Studio Code. Dieser Editor bietet dir wesentlich mehr Features, gerade, auch wenn du nicht nur mit der Windows PowerShell arbeitest, sondern auch mit anderen Scriptsprachen wie der BASH oder Python.
Im Übrigen ist der Editor Visual Studio Code komplett kostenlos und kann für jedes Betriebssystem heruntergeladen werden. Für die Verwendung von Visual Studio Code mit der Windows PowerShell gibt es auch ausgezeichnete Online-Kurse.

Beispielanwendung 2 zur Switch case in PowerShell – Zahlenbereiche
Du kannst auch Zahlenbereiche mit »switch« überprüfen und in jeder einzelnen Aktion auch bestimmte Vergleiche oder Operationen durchführen lassen.
So zeigt das folgende Beispiel, ob eine bestimmte Zahl einen bestimmten Wert besitzt. Je nach Ausgabe wird dann eine der verschiedenen Aktion gewählt.
$zahl = 6
switch ($zahl) {
{$_ -lt 5} {
Write-Output "Die Zahl ist kleiner als 5."
}
{$_ -ge 5 -and $_ -le 10} {
Write-Output "Die Zahl liegt zwischen 5 und 10."
}
{$_ -gt 10} {
Write-Output "Die Zahl ist größer als 10."
}
Default {
Write-Output "Ungültiger Bereich."
}
}
Beispielanwendung 3 zur Switch case in PowerShell – Arrays
Der »switch« Befehl kann auch mit Arrays verwendet werden. Hier ein Beispiel, das durch ein Array angelegt wird und für jedes Element eine Aktion ausführt wird.
$farben = @("rot", "grün", "blau", "gelb")
switch -Wildcard ($farben) {
"rot" {
Write-Output "Die Farbe ist rot."
}
"grün" {
Write-Output "Die Farbe ist grün."
}
"blau" {
Write-Output "Die Farbe ist blau."
}
"gelb" {
Write-Output "Die Farbe ist gelb."
}
Default {
Write-Output "Unbekannte Farbe."
}
}
Beispielanwendung 4 : Nutzung von Regular Expressions
Du kannst auch reguläre Ausdrücke im »switch« Befehl verwenden: Mit regulären Ausdrücken kann man grundsätzlich nach bestimmten Zeichenkette suchen. Das nachfolgende Beispiel zeigt dessen Anwendung mithilfe der switch Anweisung.
$text = "Hallo123"
switch -Regex ($text) {
"^[a-zA-Z]+$" {
Write-Output "Der Text besteht nur aus Buchstaben."
}
"^\d+$" {
Write-Output "Der Text besteht nur aus Zahlen."
}
"^[a-zA-Z]+\d+$" {
Write-Output "Der Text besteht aus Buchstaben und endet mit Zahlen."
}
Default {
Write-Output "Der Text hat ein anderes Muster."
}
}
Videoanleitung – PowerShell Programmiergrundlagen
Fazit und Ausblick
Mit diesen Beispielen solltest Du eine gute Vorstellung davon haben, wie der »switch« Befehl in PowerShell funktioniert und wie Du ihn in verschiedenen Situationen einsetzen kannst. Oft ist diese Variante sinnvoller als eine verschachteltet IF-Anweisung zu erstellen.









