Direkt zum Inhalt springen

PowerShell Objekte und Pipeline: Das Kernprinzip sauber verstehen

Author Image

Attila Krick

07. Feb. 2026

Blog Image

Welche Frage beantwortet dieser Artikel?

Dieser Artikel beantwortet eine klare Frage: Wie funktionieren Objekte, Pipeline und Cmdlets in PowerShell zusammen, damit Skripte robust statt fragil werden?

Stand: 2026-02
Getestet mit: PowerShell 7.5 (pwsh) in typischen Admin- und Automatisierungsaufgaben.

Warum PowerShell anders ist

PowerShell verarbeitet in der Pipeline standardmäßig Objekte statt reinen Text. Dadurch kannst du Eigenschaften direkt ansprechen und musst weniger parsen.

Get-Process |
    Select-Object Name, Id, CPU

1) Objekte sichtbar machen

Mit Get-Member siehst du, welche Eigenschaften und Methoden ein Objekt hat:

Get-Process | Get-Member

Das ist oft der schnellste Weg, um unbekannte Ausgaben korrekt weiterzuverarbeiten.

2) Pipeline als Datenfluss nutzen

Die Pipeline (|) verbindet Verarbeitungsschritte zu einem klaren Ablauf:

Get-Service |
    Where-Object Status -eq Running |
    Sort-Object DisplayName |
    Select-Object Name, Status

Jeder Schritt erhält Objekte, verarbeitet sie und gibt wieder Objekte weiter.

3) Cmdlets gezielt kombinieren

Cmdlets folgen meist dem Muster Verb-Noun.

  • Get-* liest Daten
  • Where-Object filtert
  • Select-Object reduziert auf relevante Felder
  • Sort-Object ordnet Ergebnisse

So bleiben Skripte lesbar und nachvollziehbar.

4) Typische Fehler und wie du sie vermeidest

  • zu früh mit Format-Table arbeiten und damit die Pipeline “abschneiden”
  • Eigenschaften nutzen, die im Objekt gar nicht vorhanden sind
  • Textausgaben parsen, obwohl strukturierte Objekte verfügbar sind
  • zu lange One-Liner ohne Zwischenschritte bauen

5) Ergebnisse sauber exportieren

Für Reporting oder Audits:

Get-Process |
    Select-Object Name, Id, @{Name='RAM_MB';Expression={ [math]::Round($_.WorkingSet / 1MB, 2) }} |
    Export-Csv -Path "$env:TEMP\Prozesse.csv" -Delimiter ';' -NoTypeInformation

Mini-Workflow für den Alltag

  • Datenquelle mit Get-* wählen
  • mit Get-Member Struktur prüfen
  • mit Where-Object und Select-Object schärfen
  • Ergebnis prüfen und erst dann exportieren oder weiterreichen

Weiterführende Inhalte

Fazit

Wer in PowerShell objektbasiert denkt, schreibt weniger fragilen Code und kommt schneller zu verlässlichen Ergebnissen. Genau deshalb sind Pipeline und Cmdlets keine Details, sondern das Fundament jeder professionellen Automatisierung.