/
/

PowerShell-Schleife ausführen: Leitfaden für mehr Skripting-Effizienz

von Team Ninja
guide to PowerShell loops blog banner image

Kurzüberblick

Dieser NinjaOne-Blogbeitrag bietet eine umfassende Liste grundlegender CMD-Befehle und einen tiefen Einblick in die Windows-Befehle mit über 70 wichtigen CMD-Befehlen für Anfänger:innen und Fortgeschrittene. Der Blogartikel erklärt praktische Befehle der Eingabeaufforderung für die Dateiverwaltung, die Navigation in Verzeichnissen, die Fehlersuche im Netzwerk, Festplattenoperationen und die Automatisierung mit echten Beispielen zur Steigerung der Produktivität. Egal, ob Sie grundlegende CMD-Befehle lernen oder fortgeschrittene Windows CLI-Tools beherrschen möchten, dieser Leitfaden hilft Ihnen, die Eingabeaufforderung effektiver zu verwenden.

Die wichtigsten Punkte

  • So führen Sie eine PowerShell-Schleife aus
      • for: Einen Befehl eine festgelegte Anzahl von Malen wiederholen
        • for ($i = 0; $i -lt 10; $i++) { # code }
    • foreach: Jedes Element einer Sammlung durchlaufen
      • foreach ($item in $collection) { # code }
    • while: Weiterlaufen, solange eine Bedingung wahr ist
      • while ($condition) { # code }
    • do while: Immer mindestens einmal laufen, dann weiterlaufen, solange die Bedingung wahr ist
      • do { # code } while ($condition)
    • do until: Immer mindestens einmal laufen, dann weiterlaufen, bis die Bedingung wahr ist
      • do { # code } until ($condition)
  • So wiederholen Sie einen Befehl
    • Eine for-Schleife verwenden mit Inkrement
      • Beispiel: fünfmal wiederholen
        • 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

→ Webinar hier ansehen

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:

  1. Funktionen: In PowerShell können Sie wiederverwendbare Funktionen definieren, die eine Reihe von Anweisungen kapseln und sich bei Bedarf jederzeit aufrufen lassen.
  2. Module: Mit PowerShell-Modulen können Sie Ihre Skripte bündeln und teilen. So lässt sich Code projektübergreifend einfach wiederverwenden.
  3. 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.
  4. 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.

FAQs

Die Anweisungen for und foreach sind bei Sammlungen im Arbeitsspeicher die schnellsten PowerShell-Schleifen, da sie den Overhead der PowerShell-Pipeline vermeiden.

Nutzen Sie eine Schleife, wenn Sie dieselbe Aktion für eine Reihe von Elementen wiederholen oder so lange ausführen möchten, bis eine Bedingung erfüllt ist. Ein gutes Beispiel ist das Anwenden einer Einstellung auf jede:n Benutzer:in in einer Liste oder das wiederholte Prüfen eines Dienstes, bis er gestartet ist.

Für komplexere Automatisierung eignen sich andere PowerShell-Funktionen oft besser: Funktionen sind ideal, wenn Sie denselben Logikblock an verschiedenen Stellen wiederverwenden möchten. Pipelines eignen sich gut, wenn Sie Daten Schritt für Schritt transformieren. Und geplante Aufgaben sind die richtige Wahl, wenn ein Skript zu festgelegten Zeiten automatisiert laufen soll.

Schleifen, Funktionen, Pipelines und geplante Aufgaben sind meist keine Alternativen zueinander, sondern entfalten im Zusammenspiel die größte Wirkung.

Das könnte Sie auch interessieren

Sind Sie bereit, die schwierigsten Aufgaben der IT zu vereinfachen?

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche „Ich akzeptiere“ klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird „wie gesehen“ und „wie verfügbar“ bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).