Die wichtigsten Punkte
for ($i = 0; $i -lt 10; $i++) { # code }
foreach ($item in $collection) { # code }
while ($condition) { # code }
do { # code } while ($condition)
do { # code } until ($condition)
for ($i = 0; $i -lt 5; $i++) { # command }
PowerShell ist eine leistungsstarke Skriptsprache, mit der Sie Aufgaben auf Ihrem Computer automatisieren können. Systemadministrator:innen und IT-Fachkräfte können mit PowerShell die IT-Effizienz und Produktivität steigern, indem sie Befehle über die Befehlszeilenschnittstelle des Tools ausführen. Außerdem können IT-Techniker:innen damit eine Reihe von Anweisungen mehrfach durchlaufen und so die Skripting-Effizienz in ihren Workflows erhöhen.
In diesem Artikel beantworten wir die Frage „Wie führe ich eine Schleife in PowerShell aus?“. Wir stellen Ihnen jeden Typ von PowerShell-Schleife vor und zeigen anhand von Beispielen, wie Sie sie wirkungsvoll einsetzen.
💡 Wenn Sie lieber Videos schauen: Sehen Sie sich So führen Sie eine PowerShell-Schleife aus an.
Praktische Tipps und Schritt-für-Schritt-Anleitungen zu den Grundlagen des Skriptings mit PowerShell
Typen von PowerShell-Schleifen (for-Schleife, foreach-Schleife, while-Schleife, do while-Schleife, do until-Schleife)
Um zu verstehen, wie Schleifen in PowerShell funktionieren, sehen wir uns zunächst die verschiedenen Schleifentypen an. Jede Variante hat ihre eigene Syntax und ihren eigenen Einsatzzweck. Wenn Sie die Unterschiede kennen, können Sie jeweils die passende Schleife für Ihren Bedarf auswählen.
Syntax und Verwendung der for-Schleife in PowerShell
Die for-Schleife ist ein klassisches zählergesteuertes Schleifenkonstrukt in Programmiersprachen wie PowerShell. Sie wird typischerweise eingesetzt, wenn ein Codeblock eine bekannte Anzahl von Malen ausgeführt werden soll oder wenn Sie die Position eines Elements in einer Sammlung nachverfolgen müssen. Sie besteht aus drei Teilen: der Initialisierung, der Bedingung und der Iteration:
- Die Initialisierung legt den Anfangswert einer Variablen fest.
- Die Bedingung prüft, ob die Schleife fortgesetzt werden soll (zum Beispiel, indem geprüft wird, ob die Variable kleiner oder größer als eine bestimmte Zahl ist).
- Die Iteration aktualisiert die Variable nach jedem Durchlauf.
Für die for-Schleife in PowerShell gilt diese Syntax:
for ($i = 0; $i -lt 10; $i++) { # Your code here }
In diesem Beispiel wird die Schleife zehnmal ausgeführt: Sie startet bei null und erhöht den Wert bei jedem Durchlauf um eins.
TIPP: Wenn Sie lediglich jedes Element eines Arrays oder einer Sammlung durchlaufen möchten, empfiehlt Microsoft stattdessen eine foreach-Anweisung. Diese Schleife behandeln wir im nächsten Abschnitt.
Syntax und Verwendung der foreach-Schleife in PowerShell
Die foreach-Schleife in PowerShell dient dazu, eine Sammlung von Elementen zu durchlaufen, etwa ein Array oder eine Liste. Sie weist jedes Element automatisiert einer Variablen zu, sodass Sie Aktionen für jedes einzelne Element ausführen können.
Für die foreach-Schleife in PowerShell gilt diese Syntax:
foreach ($item in $collection) { # Your code here }
In diesem Beispiel durchläuft die Schleife jedes Element in der Variablen $collection, und Sie greifen innerhalb der Schleife über die Variable $item auf das jeweilige Element zu.
HINWEIS: PowerShell kennt sowohl eine foreach-Schleife als auch das Cmdlet ForEach-Object. Erstere lädt die gesamte Sammlung vor der Verarbeitung in den Arbeitsspeicher. Das ist bei Arrays im Speicher schnell, kann bei sehr großen Datenmengen aber viel Speicher beanspruchen. Das Cmdlet dagegen nimmt Pipeline-Eingaben entgegen und verarbeitet jeweils ein Element. Damit eignet es sich ideal für das Streaming großer Datenmengen.
Syntax und Verwendung der while-Schleife in PowerShell
Die while-Schleife in PowerShell verwenden Sie, wenn Sie eine Reihe von Anweisungen so lange wiederholen möchten, wie eine bestimmte Bedingung erfüllt ist. Sie prüft die Bedingung vor jedem Durchlauf und bricht ab, sobald die Bedingung nicht mehr zutrifft.
Für die while-Schleife in PowerShell gilt diese Syntax:
while ($condition) { # Your code here }
In diesem Beispiel wird die Schleife so lange ausgeführt, wie $condition wahr ist.
Syntax und Verwendung der do while-Schleife in PowerShell
Die do until-Schleife ist eine nachprüfende Schleife: Sie führt ihren Anweisungsblock zuerst aus und wertet dann die Bedingung aus. Sie läuft weiter, bis die Bedingung wahr wird, also genau umgekehrt zur do while-Schleife. Sie führt eine Reihe von Anweisungen aus, bis eine bestimmte Bedingung wahr wird. Das bedeutet, dass die Schleife immer mindestens einmal durchlaufen wird, selbst wenn die Bedingung von Anfang an wahr ist.
Für die do while-Schleife in PowerShell gilt diese Syntax:
do { # Your code here } while ($condition)
In diesem Beispiel führt die Schleife den Codeblock mindestens einmal aus und läuft anschließend so lange weiter, wie $condition wahr ist.
Syntax und Verwendung der do until-Schleife in PowerShell
Die do until-Schleife in PowerShell ist das Gegenstück zur do while-Schleife. Sie führt eine Reihe von Anweisungen aus, bis eine bestimmte Bedingung wahr wird. Das bedeutet, dass die Schleife immer mindestens einmal durchlaufen wird, selbst wenn die Bedingung von Anfang an wahr ist.
Für die do until-Schleife in PowerShell gilt diese Syntax:
do { # Your code here } until ($condition)
In diesem Beispiel führt die Schleife den Codeblock mindestens einmal aus und läuft anschließend so lange weiter, bis $condition wahr wird.
Wie wiederhole ich einen PowerShell-Befehl?
Jetzt, da Sie die Grundlagen von Schleifen in PowerShell kennen, gehen wir einen Schritt weiter. Am einfachsten wiederholen Sie einen PowerShell-Befehl, indem Sie ein Schleifenkonstrukt verwenden und angeben, wie oft der Befehl ausgeführt werden soll.
Wenn Sie einen Befehl beispielsweise fünfmal wiederholen möchten, nutzen Sie eine for-Schleife wie diese:
for ($i = 0; $i -lt 5; $i++) { # Your command here }
Damit wird der Befehl fünfmal ausgeführt: Die Variable $i wird nach jedem Durchlauf um eins erhöht, und die Schleife endet, sobald der Wert der Variablen fünf erreicht.
Beispiele für PowerShell-Schleifen
Nachfolgend finden Sie einige einfache Beispiele dafür, wie Sie mit Schleifen in PowerShell Aufgaben automatisieren und Ihre Skripting-Effizienz verbessern.
Beispiel 1: Die Zahlen 1 bis 10 mit einer for-Schleife ausgeben
for ($i = 1; $i -le 10; $i++) { Write-Output $i }
Damit werden die Zahlen 1 bis 10 in der PowerShell-Konsole ausgegeben.
Beispiel 2: Ein Array mit einer foreach-Schleife durchlaufen
$fruits = @("apple", "banana", "orange")
foreach ($fruit in $fruits) { Write-Output $fruit }
Damit wird jedes Element des Arrays $fruits durchlaufen und in der PowerShell-Konsole ausgegeben.
Weitere Möglichkeiten zur Automatisierung mit PowerShell
Neben Schleifen bietet PowerShell viele weitere Möglichkeiten, Aufgaben zu automatisieren und die Skripting-Effizienz zu steigern. Hier einige Beispiele:
- Funktionen: In PowerShell können Sie wiederverwendbare Funktionen definieren, die eine Reihe von Anweisungen kapseln und sich bei Bedarf jederzeit aufrufen lassen.
- Module: Mit PowerShell-Modulen können Sie Ihre Skripte bündeln und teilen. So lässt sich Code projektübergreifend einfach wiederverwenden.
- Pipelines: Mit PowerShell-Pipelines verketten Sie Befehle miteinander und übergeben die Ausgabe eines Befehls als Eingabe an den nächsten. Das vereinfacht komplexe Aufgaben erheblich.
- Geplante Aufgaben: Mit PowerShell können Sie geplante Aufgaben erstellen, die Skripte zu bestimmten Zeiten oder in festen Intervallen automatisiert ausführen.
Starten Sie mit sofort einsatzbereiten PowerShell-Skripten, die manuelle Arbeit reduzieren.
Durchstöbern Sie die Bibliothek des NinjaOne Skript-Hubs.
Mit PowerShell-Schleifen die Skripting-Effizienz steigern
Wer weiß, wie Schleifen in PowerShell funktionieren, gewinnt deutlich an Produktivität und arbeitet beim Skripting effizienter. Wenn Sie Syntax und Einsatzzweck jedes Schleifentyps kennen, wählen Sie für Ihr jeweiliges Szenario die passende Variante. Bauen Sie diese Techniken in Ihren PowerShell-Workflow ein, und Ihre IT-Abteilung spart unzählige Stunden an Zeit und Aufwand.
Schleifen in PowerShell sind nur eine von vielen Techniken, um wiederkehrende Aufgaben mit PowerShell zu automatisieren. Wenn Sie weitere Ideen für mehr Produktivität und Effizienz suchen, lesen Sie unseren Leitfaden zur Automatisierung der Office-365-Installation mit PowerShell oder unsere Liste der 10 wichtigsten wiederkehrenden Helpdesk-Aufgaben, die sich automatisieren lassen.