Skripte mit Bedingungen schreiben If-Anwendungen in der PowerShell nutzen

Autor / Redakteur: Thomas Joos / Thomas Joos

In der PowerShell lassen sich auch If-Anfragen schreiben. Die dazu notwendigen Optionen sind bereits in der PowerShell dabei. Wer eigene Skripte für die PowerShell schreibt, kann If-Anweisungen in seinen Skripten nutzen, unabhängig vom eingesetzten Betriebssystem.

Firmen zum Thema

Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay)
Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay)
(Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay))

If-Anweisungen sind einfache Möglichkeiten, um Bedingungen in PowerShell-Skripten zu ermöglichen. Mit Schleifen lassen sich leichter viele Aufgaben erledigen und Abfragen durchführen. Generell sind If-Anfragen nichts anderes als Wenn-Dann-Blöcke in der PowerShell. Die Syntax dazu ist:

If (<Bedingung>) {<Anweisungsblock>}

Generell wird die Bedingung in Klammern geschrieben. Trifft die Bedingung zu, führt das Skript die Befehle aus, die in den geschweiften Klammern stehen.

Generell nutzen If-Anweisungen boolsche Ergebnisse. Eine Bedingung ist entweder wahr (True) oder falsch (false). Die verschiedenen Bedingungen lassen sich mit den unterschiedlichen Möglichkeiten der PowerShell definieren. Als Bedingungen stehen verschiedene Optionen zur Verfügung, zum Beispiel "-eq" für "gleich":

If ($x -ep 10)

Der Teil des Befehls prüft, ob die Variable "x" einen Wert von "10" hat. Hier können natürlich auch weitere Parameter genutzt werden, zum Beispiel "-ne" für "not equal" also "nicht gleich"

Es gibt auch die Möglichkeit mit "-match" und "-nomatch" zu arbeiten. Bei If-Abfragen spielen natürlich auch die Dann-Bereiche eine Rolle. Diese werden mit "else" eingeleitet. Trifft die Bedingung aus "if" nicht zu, dann führt die PowerShell die Befehle nach "else" aus. 

Der Parameter "else" ist aber optional, er muss nicht ausgeführt werden. Trifft die If-Abfrage nicht zu, überspringt die PowerShell den ganzen Block und führt die Befehle nach der geschweiften Klammer aus.

Wenn die Bedingung bei "If" den Wert "false" ergibt, führt die PowerShell die Befehle nach "else" aus und fährt dann mit dem Ende der Schleife fort. Dazu müssen die Befehle für "else" ebenfalls in geschweiften Klammern geschrieben werden:

if ($x -eq 10)
{
Write-Host "Die Variable x hat den Wert 10"
}
else
{
Write-Host "Die Variable x"
}

Wenn Zweige mit "if" und "else" nicht ausreichen, können weitere Parameter hinzugefügt werden. Mit "elseif" lassen sich weitere Abfragen erstellen. Wenn der If-Ausdruck nicht zutrifft, prüft die PowerShell die nächsten Elseif-Abfragen und erst danach die Else-Abfrage.