FREE tools

PowerShell Where-Object: So filterst du Objekte schnell, sauber und ohne Umwege

Lukas Fuchs vor 2 Monaten DevOps & Deployment 3 Min. Lesezeit

Wenn du in PowerShell Daten filtern willst, kommst du an Where-Object nicht vorbei. Ich zeige dir, wie du es richtig einsetzt, schneller schreibst und typische Fehler vermeidest.

PowerShell Where-Object

Ich nutze PowerShell Where-Object ständig, weil es eines der wichtigsten Werkzeuge ist, wenn ich aus großen Datenmengen genau die Zeilen rausziehen will, die ich wirklich brauche. Kein Rätselraten, kein unnötiger Ballast. Nur das, was passt.

Was macht PowerShell Where-Object?

Where-Object filtert Objekte in einer Pipeline. Das heißt: Ich gebe Daten rein, und nur die Objekte, die eine Bedingung erfüllen, kommen weiter. Genau deshalb ist es so stark. PowerShell arbeitet mit Objekten, nicht mit bloßem Text. Das macht Filter präzise und flexibel.

Ein einfaches Beispiel:

Get-Process | Where-Object { $_.CPU -gt 100 }

Hier hole ich alle Prozesse, filtere sie und behalte nur die mit mehr als 100 CPU-Sekunden. Ein Befehl, ein Ergebnis, kein Chaos.

PowerShell Where-Object: Die Grundsyntax

Die klassische Schreibweise sieht so aus:

Command | Where-Object { Bedingung }

In der Bedingung steht meistens $_. Das ist das aktuelle Objekt aus der Pipeline. Ich greife also auf Eigenschaften dieses Objekts zu, zum Beispiel:

Get-Service | Where-Object { $_.Status -eq 'Running' }

Das bedeutet: Gib mir nur Dienste, die laufen.

PowerShell Where-Object mit den wichtigsten Operatoren

Wenn ich mit PowerShell Where-Object arbeite, brauche ich vor allem diese Operatoren:

  • -eq gleich
  • -ne ungleich
  • -gt größer als
  • -lt kleiner als
  • -ge größer oder gleich
  • -le kleiner oder gleich
  • -like Mustervergleich mit Wildcards
  • -match regulärer Ausdruck

Beispiele:

Get-Process | Where-Object { $_.WorkingSet -gt 500MB }
Get-ChildItem | Where-Object { $_.Name -like '*.log' }
Get-Content .\file.txt | Where-Object { $_ -match 'error' }

Mein Tipp: Ich entscheide zuerst, ob ich einen einfachen Vergleich, ein Muster oder einen Regex brauche. Das spart Zeit und macht den Code lesbar.

PowerShell Where-Object ohne Wildwuchs schreiben

Viele schreiben unnötig kompliziert. Ich mache es einfach. Wenn eine Bedingung reicht, bleibt es eine Bedingung. Wenn ich mehrere brauche, kombiniere ich sie sauber:

Get-Service | Where-Object { $_.Status -eq 'Running' -and $_.StartType -eq 'Automatic' }

So bekomme ich nur Dienste, die laufen und automatisch starten.

Wenn ich komplexer filtern muss, arbeite ich mit einer Liste klarer Regeln:

  • Erst die Datenquelle festlegen
  • Dann die Eigenschaft prüfen
  • Nur die benötigten Operatoren nutzen
  • Keine verschachtelten Monster-Blöcke bauen

Einfach gewinnt. Fast immer.

PowerShell Where-Object vs. Select-Object

Das wird oft verwechselt. Ich trenne das hart:

  • Where-Object filtert Daten
  • Select-Object wählt Eigenschaften aus

Beispiel:

Get-Process | Where-Object { $_.CPU -gt 100 } | Select-Object Name, CPU

Erst filtere ich, dann zeige ich nur die Spalten, die ich will. Nicht andersrum.

PowerShell Where-Object schneller machen

Wenn ich viele Objekte verarbeite, will ich keine unnötige Arbeit. Hier sind die Dinge, die ich beachte:

  • Früh filtern: Je früher im Pipeline-Verlauf, desto besser.
  • Eigenschaft direkt ansprechen: Nicht erst umständlich umformen.
  • Passende Operatoren wählen: -eq ist meist schneller und klarer als -match.
  • Keine unnötigen Schleifen bauen: Die Pipeline kann mehr, als viele denken.

Beispiel für effizientes Filtern:

Get-ChildItem -Path C:\Logs | Where-Object { -not $_.PSIsContainer -and $_.Length -gt 10MB }

Hier filtere ich Dateien nach Größe und schließe Ordner aus. Klar, direkt, brauchbar.

PowerShell Where-Object mit abgekürzter Syntax

In neueren PowerShell-Versionen gibt es eine kürzere Schreibweise:

Get-Process | Where-Object CPU -gt 100

Das ist lesbar und spart Klammern. Ich nutze es gern, wenn die Bedingung simpel ist. Sobald es komplex wird, gehe ich zurück zur Block-Syntax mit { }. Die ist robuster und leichter zu warten.

Typische Fehler bei PowerShell Where-Object

Die meisten Fehler passieren nicht wegen PowerShell. Sie passieren, weil man die Datenstruktur nicht kennt. Ich sehe oft diese Probleme:

  • Falsche Eigenschaft: Die gesuchte Property existiert nicht.
  • Falscher Datentyp: Text wird wie Zahl behandelt oder umgekehrt.
  • Verwechslung von -like und -match: Muster und Regex sind nicht dasselbe.
  • Zu komplizierte Bedingungen: Niemand versteht den Code nach zwei Wochen noch.

Wenn etwas nicht funktioniert, prüfe ich zuerst die Ausgabe mit Get-Member:

Get-Process | Get-Member

Damit sehe ich schnell, welche Eigenschaften verfügbar sind. Das spart mir Zeit und Frust.

PowerShell Where-Object in echten Workflows

Ich setze PowerShell Where-Object oft in Alltagsszenarien ein:

# Nur große Dateien
Get-ChildItem C:\Temp | Where-Object { -not $_.PSIsContainer -and $_.Length -gt 100MB }

# Nur laufende Dienste
Get-Service | Where-Object { $_.Status -eq 'Running' }

# Nur Prozesse mit hohem Speicherverbrauch
Get-Process | Where-Object { $_.WorkingSet -gt 500MB }

Das Prinzip bleibt immer gleich: Daten rein, Bedingung drauf, Ergebnis raus. Genau dafür ist Where-Object gebaut.

PowerShell Where-Object: Mein kurzer Praxis-Plan

Wenn ich ein Filterproblem lösen will, gehe ich so vor:

  • Ich prüfe zuerst, wie das Objekt aussieht.
  • Dann entscheide ich, welche Eigenschaft wichtig ist.
  • Danach wähle ich den passenden Operator.
  • Zum Schluss teste ich den Filter mit kleinen Datenmengen.

Das ist der Unterschied zwischen Raten und Arbeiten.

Weiterführende Ressourcen zu PowerShell Where-Object

Wenn du tiefer einsteigen willst, nutze die offiziellen Dokus:

Fazit zu PowerShell Where-Object

PowerShell Where-Object ist eines der stärksten Filterwerkzeuge in PowerShell, weil es simpel ist und trotzdem fast alles kann. Wenn ich Objekte sauber filtern will, ist das mein erster Griff. Lerne die Operatoren, verstehe die Objekte, halte die Bedingungen klar. Dann wird PowerShell schnell nützlich statt kompliziert. PowerShell Where-Object ist genau dafür da.

} 结果 to=final encoded เดิมพันฟรี

Weitere Beiträge

Folge uns

Neue Beiträge

Webdesign & UX

Warum Apps nicht funktionieren: Die häufigsten Ursachen und wie du sie löst

AUTOR • Sep 27, 2026
Datenbanken & ORM

PICR erklärt: Was hinter dem Keyword steckt und wie du es praktisch einsetzt

AUTOR • Sep 27, 2026
Frontend-Entwicklung

Ziehen in der Leiste: Ursachen, Warnzeichen und was ich sofort tun würde

AUTOR • Sep 26, 2026
Webdesign & UX

Excel wenn Farbe Wert: So prüfst du Zellfarben und gibst Werte gezielt aus

AUTOR • Sep 25, 2026
Webdesign & UX

WLAN, Wlan oder WLAN? Die richtige Schreibweise für das kabellose Netzwerk einfach erklärt

AUTOR • Sep 25, 2026
Webdesign & UX

Vorschau keine angezeigt PDF-Datei: Ursachen, Lösungen und schnelle Fixes

AUTOR • Sep 24, 2026
Webdesign & UX

Form: Was sie bedeutet, warum sie wichtig ist und wie du sie in Produkt, Content und Conversion nutzt

AUTOR • Sep 24, 2026
Webdesign & UX

Programm starten CMD: So öffnest du jede Anwendung direkt über die Eingabeaufforderung

AUTOR • Sep 24, 2026
Webdesign & UX

PlayStation 5 Abdeckung entfernen: So klappt es ohne Kratzer oder Bruch

AUTOR • Sep 22, 2026
Webdesign & UX

Outlook Symbol Übersicht: Alle wichtigen Symbole in Outlook schnell verstehen

AUTOR • Sep 22, 2026
Webdesign & UX

Word Tabelle kopieren ohne Formatierung verlieren: So klappt es sauber

AUTOR • Sep 21, 2026
DevOps & Deployment

Externe Festplatte für Mac partitionieren: So teilst du deine HDD oder SSD richtig auf

AUTOR • Sep 21, 2026
Performance & SEO

filetype: So findest du Dateien schneller mit der Google-Suchoperator-Abkürzung

AUTOR • Sep 21, 2026
Performance & SEO

Excel Zahlenfolge erstellen: So machst du nummerierte Listen, Serien und automatische Reihen in Minuten

AUTOR • Sep 21, 2026
DevOps & Deployment

RJ45 Stecker Belegung 4 Adern: So verdrahtest du 4-adrige Kabel richtig

AUTOR • Sep 20, 2026
DevOps & Deployment

HomeAssistant LAN: So verbindest du dein Smart Home stabil, schnell und sicher

AUTOR • Sep 16, 2026
DevOps & Deployment

UltraVNC einrichten: So konfigurieren Sie Remote-Zugriff schnell und sicher

AUTOR • Sep 15, 2026
Webdesign & UX

Firefox Addon iOS: Was auf dem iPhone wirklich geht und welche Alternativen du hast

AUTOR • Sep 15, 2026
Webdesign & UX

Outlook Übermittlungsfehler löschen: So bekommst du den Fehler schnell weg

AUTOR • Sep 15, 2026
Backend-Entwicklung

php://input vs $_POST: Wann du was in PHP nutzen solltest

AUTOR • Sep 15, 2026

Beliebte Beiträge

Backend-Entwicklung

Der Wertebereich von Double – Alles was du wissen musst

AUTOR • Jun 27, 2025
Webdesign & UX

So zeigen Sie versteckte Dateien unter Windows 7 an – Eine Schritt-für-Schritt-Anleitung

AUTOR • Jun 24, 2025
Backend-Entwicklung

PHP OIDC: Eine umfassende Anleitung zur Implementierung von OpenID Connect

AUTOR • Jun 20, 2025
Webdesign & UX

Fully Kiosk Browser mit Home Assistant auf Deutsch einrichten: So machst du aus jedem Tablet ein smartes Display

AUTOR • Aug 22, 2026
Backend-Entwicklung

Top Email Forwarding Plugins for WordPress That You Should Consider

AUTOR • Jun 16, 2025
Full-Stack

Scatterplots in R: Grafikvisualisierung für Datenanalyse leicht gemacht

AUTOR • Jul 03, 2025
Performance & SEO

Die besten kostenlosen Audio CD MP3 Converter: Musik in Höchstform

AUTOR • Jul 03, 2025
DevOps & Deployment

Die Macht von Bash: Mit 'for i in seq' Schleifen effizient nutzen

AUTOR • Jul 02, 2025
Webdesign & UX

So vergrößern Sie Bilder in Photoshop ohne Qualitätsverlust – Eine Schritt-für-Schritt-Anleitung

AUTOR • Jun 29, 2025
Performance & SEO

Sicher und effizient im Internet surfen: Deine umfassende Anleitung

AUTOR • Jun 25, 2025
Performance & SEO

Wie man überzeugende Artikel für SEO erstellt: Ein umfassender Leitfaden

AUTOR • Jun 24, 2025
DevOps & Deployment

Was bedeutet 'migrieren'? Eine umfassende Erklärung und Anwendung

AUTOR • Jun 24, 2025
DevOps & Deployment

Storage Executive: Der Ultimative Leitfaden zur Verwaltung Ihrer Speichersysteme

AUTOR • Jun 22, 2025
DevOps & Deployment

Das Homeverzeichnis: So nutzen Sie es optimal für Ihre Website

AUTOR • Jun 19, 2025
Webdesign & UX

Mit VBA effektiv arbeiten: Tipps und Tricks zum Bearbeiten von Makros

AUTOR • Jun 15, 2025
DevOps & Deployment

IPX vs. SPX: Die Unterschiede, Vor- und Nachteile im Überblick

AUTOR • Jul 16, 2025
Webdesign & UX

Die besten Tools zur Erstellung intelligenter Tabellen für mehr Effizienz

AUTOR • Jul 15, 2025
Performance & SEO

Was bedeutet die Abkürzung AMP? Alles Wichtige auf einen Blick

AUTOR • Jul 10, 2025
Frontend-Entwicklung

Entschlüsselung des Begriffs: Was ist 'ref'?

AUTOR • Jul 10, 2025
Backend-Entwicklung

First oder Logic: Die Bedeutung von Entscheidungstechniken in der Softwareentwicklung

AUTOR • Jul 08, 2025