PowerShell lernen Schritt für Schritt – Teil 2: Die Pipeline verstehen
Aktualisiert am 08.11.2026 · Lesezeit ca. 4 Min. · Niveau: Anfänger · von Viktor Tribus, IT-Tribus Nideggen
In diesem Teil der Serie „PowerShell lernen Schritt für Schritt“ fokussieren wir uns auf die Nutzung von Pipelines in PowerShell, um Daten zu filtern, sortieren und auszuwählen. Wenn Sie den ersten Teil erfolgreich absolviert haben, können Sie nun mit neuen Möglichkeiten der Datenverarbeitung experimentieren.
Was Sie in diesem Beitrag lernen
- Grundlegende Konzepte der PowerShell-Pipeline
- Nutzung des Cmdlets Where-Object für die Filterung von Objekten
- Ausführen und Interpretieren von beispielhaften Befehlen
- Überwinden häufig auftretender Anfängerfehler
Sie benötigen etwa 20 Minuten für diesen Artikel. Sie sollten die Windows PowerShell-Eingabeaufforderung mit Administratorrechten verwenden, die Sie über das Startmenü oder die Tastenkombination Win + X → „Windows PowerShell (Admin)“ öffnen können.
Das Prinzip einfach erklärt
Vorstellen Sie sich die Pipeline als eine Fließband-Verarbeitung: Objekte kommen herein, werden bearbeitet und weitergeleitet. Ein gutes Analogon ist das Sortieren von Posten in einem Briefkasten. Stellen Sie sich vor, Sie haben einen Stapel von Briefen (Objekte) und möchten nur die Briefe aus einer bestimmten Stadt herausfiltern (Filterung). In PowerShell leiten wir Objekte durch eine Pipeline, wobei jedes Cmdlet (wie Where-Object) das Objekt bearbeitet und entweder weiterleitet oder ausschließt.
Ihr erstes Beispiel
Beginnen wir mit einem einfachen Beispiel. Wir verwenden die Cmdlets Get-Process, um Prozesse auf Ihrem Computer zu erhalten, und Where-Object, um nur bestimmte Prozesse auszuwählen.
Zusammengefasst macht der Befehl das Folgende:
Get-Process: Liefert alle Prozesse auf dem System.|: Leitet die Ergebnisse an den nächsten Befehl weiter (die Pipeline).Where-Object: Filtert nur die Prozesse, deren Name „explorer" ist.
Nachdem Sie diesen Befehl ausgeführt haben, sehen Sie eine Liste mit Informationen zu allen Prozessen mit dem Namen „explorer" (in der Regel den Windows-Explorer).
Schritt für Schritt erweitern
Stufe 1: Filterung nach mehreren Bedingungen
Nehmen wir an, Sie möchten Prozesse filtern, die einen bestimmten Speicherbedarf haben. Hier ist ein Beispiel:
$_ repräsentiert das aktuelle Objekt in der Pipeline, und -gt bedeutet „größer als".
Stufe 2: Kombination mit Select-Object für Auswahl von Eigenschaften
Nehmen wir an, Sie möchten nur bestimmte Eigenschaften wie den Prozessnamen und die CPU-Auslastung anzeigen. Hier ist ein Beispiel:
Select-Object wählt nur die angegebenen Eigenschaften aus.
Stufe 3: Kombination mit Sort-Object für Sortierung der Ergebnisse
Sie können auch die Ergebnisse sortieren. Hier ist ein Beispiel:
Sort-Object sortiert die Ergebnisse in aufsteigender Reihenfolge nach dem angegebenen Eigenschaftsnamen.
Typische Anfängerfehler
Fehler: Ungültige Syntax bei Where-Object
Meldung: „Where-Object : Cannot bind parameter ‚FilterScript' because it is null."
Lösung: Stellen Sie sicher, dass die Filterbedingung korrekt definiert ist. Verwenden Sie eine geschweifte Klammer , um den Codeblock zu definieren.
Fehler: Ungültiger Eigenschaftsname
Meldung: „Where-Object : The property ‚ProzessName‘ cannot be found on this object.“
Lösung: Überprüfen Sie die korrekten Eigenschaftsnamen, indem Sie Get-Member verwenden. Zum Beispiel: (Get-Process)[0] | Get-Member.
Fehler: Fehlende Verkettung von Cmdlets
Meldung: „The term ‚WhereObject‘ is not recognized as the name of a cmdlet, function, script file, or operable program.“
Lösung: Stellen Sie sicher, dass die Pipeline korrekt verwendet wird: | Where-Object.
Übung für Sie
Erstellen Sie einen Befehl, der alle Prozesse mit mehr als 100 MB Arbeitsspeicher ausgibt und diese nach dem Prozessnamen sortiert. Verwenden Sie die Cmdlets Get-Process, Where-Object und Sort-Object.
Lösungsvorschlag:
Spickzettel
| Befehl/Syntax | Bedeutung | Beispiel |
|---|---|---|
| Where-Object |
Filtert Objekte anhand der Bedingung im Codeblock. | |
| Select-Object Property1, Property2 |
Wählt spezifische Eigenschaften aus. | |
| Sort-Object PropertyName |
Sortiert die Ergebnisse nach einer Eigenschaft. | |
| Measure-Object PropertyName |
Berechnet statistische Werte wie Summe oder Durchschnitt. | |
| Group-Object PropertyName |
Gruppiert die Ergebnisse nach einer Eigenschaft. | |
| ConvertTo-Csv |
Konvertiert die Ergebnisse in CSV-Format. |
Häufige Fragen
Wie kann ich mehrere Bedingungen in der Filterung verwenden?
Sie können logische Operatoren wie -and, -or und -not verwenden, um komplexe Bedingungen zu erstellen. Beispiel:
Kann ich die Pipeline auch für Dateien verwenden?
Ja, Sie können die Pipeline für die Verarbeitung von Dateiinhalten verwenden. Zum Beispiel: Get-Content C:\logfile.txt | Where-Object filtert Zeilen mit dem Wort „Error" aus einer Logdatei.
Was passiert, wenn ich mehrere Filter in der Pipeline habe?
Die Objekte werden nacheinander durch die einzelnen Cmdlets geleitet. Jedes Cmdlet kann das Ergebnis weiterverarbeiten und nur bestimmte Objekte weiterleiten.
Kann ich den Befehl in einer Datei speichern und ausführen?
Ja, Sie können PowerShell-Befehle in eine Skriptdatei (.ps1) schreiben. Verwenden Sie zum Ausführen das Cmdlet &. Beispiel:
Fazit und nächster Schritt
In diesem Teil haben wir uns mit der PowerShell-Pipeline beschäftigt, insbesondere das Cmdlet Where-Object verwendet. Sie sollten nun in der Lage sein, Objekte zu filtern, Eigenschaften auszuwählen und Ergebnisse zu sortieren. Im nächsten Teil „Variablen, Arrays und Hashtables“ werden wir uns mit der Verwendung von Variablen in PowerShell auseinandersetzen. IT-Tribus in Nideggen steht Ihnen bei Fragen zur Umsetzung gerne zur Verfügung.
Serie: PowerShell lernen Schritt für Schritt – Teil 2 von 5
← Vorheriger Teil: PowerShell lernen Schritt für Schritt – Teil 1: Hilfe nutzen und erste Cmdlets
→ Als Nächstes: Teil 3: Variablen, Arrays und Hashtables (erscheint in Kürze)
Das könnte Sie auch interessieren
Quellen und weiterführende Informationen
- Where-Object (Microsoft.PowerShell.Core) – learn.microsoft.com
- Entfernen von Objekten aus der Pipeline – learn.microsoft.com
- Einzeiler und die Pipeline – PowerShell 101 – learn.microsoft.com
- Teil 5 unseres Tutorials: Erste Versuche mit der Pipeline in Powershell – golem.de
- Select-Object (Microsoft.PowerShell.Utility) – learn.microsoft.com
- Back to the Basics Part 1: Learn About the PowerShell Pipeline – devblogs.microsoft.com
Hinweis: Dieser Beitrag wurde am 08.11.2026 mit KI-Unterstützung erstellt, auf Basis der genannten Quellen eigenständig formuliert und redaktionell von IT-Tribus betreut. Alle Angaben ohne Gewähr – bitte prüfen Sie Befehle vor dem Einsatz in produktiven Umgebungen und legen Sie vorher eine Sicherung an.
Benötigen Sie Unterstützung bei PowerShell Pipeline Where-Object?
IT-Tribus ist Ihr IT-Dienstleister aus Nideggen. Vor Ort helfen wir in Düren, im Kreis Düren und in der Region Aachen – Monitoring und Fernwartung mit NinjaOne bieten wir Unternehmen auch überregional an.
