PowerShell Where-Object und Select-Object – Grundlagen erklärt
Aktualisiert am 30.10.2026 · Lesezeit ca. 4 Min. · Niveau: Anfänger · von Viktor Tribus, IT-Tribus Nideggen
Mit PowerShell können Sie verschiedene IT-Aufgaben einfach und effizient durchführen. Zwei besonders nützliche Befehle sind Where-Object und Select-Object. Diese Cmdlets helfen Ihnen, Daten zu filtern und spezifische Informationen auszuwählen. In diesem Artikel erlernen Sie die Grundlagen dieser Befehle und können sie direkt in der Praxis anwenden.
Was Sie in diesem Beitrag lernen
- Zugriff auf PowerShell-Eingabeaufforderung
- Verwendung von
Select-Objectzum Auswählen bestimmter Eigenschaften - Anwendung von
Where-Objectfür die Filterung von Objekten - Kombinieren der beiden Cmdlets in einem Befehl
Sie benötigen etwa 20 Minuten, um durch den Artikel zu gehen. Als Werkzeug verwenden Sie PowerShell auf Ihrem Computer.
Das Prinzip einfach erklärt
Select-Object und Where-Object sind wie zwei Sortiermaschinen in einer Bibliothek. Stellen Sie sich vor, Sie suchen nach Büchern über IT-Sicherheit (Select-Object) und wollen dabei nur die aktuellsten Titel sehen (Where-Object). Diese beiden Befehle helfen Ihnen also, große Datenmengen in PowerShell zu filtern und genau das herauszufinden, was Sie benötigen.
Select-Object: Dieses Cmdlet wählt bestimmte Eigenschaften aus Objekten aus. Es ist wie ein Bibliotheksarbeiter, der Ihnen nur die Titel von Büchern gibt, ohne andere Informationen wie Autoren oder Erscheinungsjahr zu nennen.
Where-Object: Dieses Cmdlet filtert Objekte basierend auf bestimmten Bedingungen. Es funktioniert ähnlich wie ein Filter in einem Archiv, der nur Dokumente auswählt, die eine spezifische Kennung tragen.
Ihr erstes Beispiel
Öffnen Sie PowerShell (als Administrator) über das Startmenü oder Win + X → Windows PowerShell (Admin). Geben Sie den folgenden Befehl ein und drücken Sie Enter:
Die erwartete Ausgabe könnte so aussehen (kann je nach System variieren):
Hierbei sehen Sie, dass das Cmdlet Get-Process alle Prozesse des Systems abruft und anschließend Where-Object nur die Prozesse mit mehr als 50 % CPU-Auslastung filtert. Mit Select-Object werden schließlich nur der Name und die CPU-Auslastung angezeigt.
Schritt für Schritt erweitern
Stufe 1: Filtern nach Prozessnamen
Zunächst filtern wir nach einem spezifischen Prozessnamen:
Stufe 2: Filtern und Sortieren
Nun filtern wir nach Prozessen mit hoher CPU-Auslastung und sortieren die Ergebnisse:
Stufe 3: Mehrere Bedingungen kombinieren
Nun kombinieren wir mehrere Filterbedingungen:
Typische Anfängerfehler
Fehler: Ungültige Eigenschaftennamen
Ursache: Falsch geschriebene Eigenschaftsnamen führen zu einer Fehlermeldung wie „Property ‚Name‘ cannot be found.“
Lösung: Überprüfen Sie die Schreibweise der Eigenschaften mit Get-Process | Get-Member.
Fehler: Fehlende Klammern in der Bedingung
Ursache: Ohne Klammern wird die Bedingung nicht korrekt interpretiert.
Lösung: Stellen Sie sicher, dass Sie bei komplexen Bedingungen Klammern verwenden.
Fehler: Fehlende Einrückung in der Pipeline
Ursache: Ohne korrekte Einrückung kann die Pipeline nicht korrekt interpretiert werden.
Lösung: Achten Sie darauf, dass jeder Befehl ordnungsgemäß durch | von den anderen getrennt ist.
Übung für Sie
Versuchen Sie nun selbst, alle Dienste mit einer spezifischen Zustandsbeschreibung zu filtern und nur bestimmte Eigenschaften auszuwählen. Geben Sie folgenden Befehl ein:
Spickzettel
| Befehl/Syntax | Bedeutung | Beispiel |
|---|---|---|
| Get-Process | Where-Object | Filtre Prozesse nach einer Bedingung | Get-Process | Where-Object |
| Select-Object Eigenschaften | Auswählen bestimmter Eigenschaften | Select-Object Name, CPU |
| Where-Object | Kombinieren von mehreren Bedingungen mit AND | Where-Object |
| Select-Object -First Anzahl | Auswählen der ersten X Ergebnisse | Select-Object -First 5 Name, CPU |
| Sort-Object Eigenschaften | Sortieren nach bestimmten Eigenschaften | Sort-Object CPU |
| Select-Object -Unique | Auswählen eindeutiger Ergebnisse | Select-Object -Unique Name, DisplayName |
Häufige Fragen
Kann ich mehrere Bedingungen in Where-Object kombinieren?
Ja, Sie können mit den Operatoren -and, -or und -not mehrere Bedingungen kombinieren.
Kann ich auch andere Cmdlets mit Select-Object verwenden?
Ja, Sie können Select-Object nach fast jedem Cmdlet einfügen, um die Ergebnisse zu filtern und auszuwählen. Zum Beispiel bei Get-Service, Get-ChildItem oder Get-EventLog.
Kann ich auch andere Eigenschaften als Name und CPU auswählen?
Absolut! Sie können jede Eigenschaft auswählen, die das Cmdlet unterstützt. Zum Beispiel Handles, ID, oder Path.
Fehlermeldung „Property cannot be found“ – was bedeutet das?
Diese Meldung tritt auf, wenn Sie eine nicht vorhandene Eigenschaft angeben. Überprüfen Sie die korrekten Eigenschaftsnamen mit Get-Member.
Fazit und nächster Schritt
Sie haben nun gelernt, wie Sie Daten effizient filtern und auswählen können. Mit den Cmdlets Select-Object und Where-Object können Sie Ihre PowerShell-Skripte erheblich verbessern. Als nächster Schritt könnten Sie sich mit anderen nützlichen Cmdlets auseinandersetzen, wie z.B. Sort-Object, um Ergebnisse zu sortieren oder Group-Object, um Daten nach bestimmten Kriterien zu gruppieren.
Sollten Sie weitere Fragen haben oder Unterstützung benötigen, hilft Ihnen IT-Tribus in Nideggen gerne weiter.
Quellen und weiterführende Informationen
- Entdecken von PowerShell – learn.microsoft.com
- Where-Object (Microsoft.PowerShell.Core) – learn.microsoft.com
- Select-Object (Microsoft.PowerShell.Utility) – learn.microsoft.com
- Aktualisieren des Kennworts für Ihre Speicherkontoidentität in AD DS – learn.microsoft.com
- Erstellen einer selbstgehosteten Integration Runtime – learn.microsoft.com
- Where-Object: Daten filtern in PowerShell – windowspro.de
Hinweis: Dieser Beitrag wurde am 30.10.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 Where-Object Select-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.
