PowerShell Pipeline – Einsteiger-Führung für Administratoren
Aktualisiert am 29.10.2026 · Lesezeit ca. 7 Min. · Niveau: Anfänger · von Viktor Tribus, IT-Tribus Nideggen
Die PowerShell Pipeline ist eine leistungsstarke Funktionalität, die Ihnen ermöglicht, Befehle in einer Kette zu verknüpfen und die Ausgabe eines Befehls als Eingabe für den nächsten zu verwenden. Dies erleichtert die Durchführung komplexer Aufgaben mit nur wenigen Zeilen Code. In diesem Artikel erhalten Sie eine umfassende Übersicht über das Pipelining in PowerShell.
So nutzen Sie diese Befehlsübersicht
Um die nachfolgenden Befehle auszuführen, öffnen Sie ein PowerShell-Fenster mit Administratorrechten. Unter Windows drücken Sie Win + X und wählen dann „Windows PowerShell (Admin)“. Die Eingabeaufforderung sollte als PS C:\Users\IhrBenutzername> erscheinen.
Grundlegende Pipeline-Befehle
| Befehl | Beschreibung | Beispiel |
|---|---|---|
Get-Process | Where-Object |
Gibt Prozesse mit CPU-Auslastung über 10% zurück. | PS C:\Users\IhrBenutzername> Get-Process | Where-Object |
Get-Service | Sort-Object Status |
Sortiert Dienste nach ihrem Status (z. B. Running, Stopped). | PS C:\Users\IhrBenutzername> Get-Service | Sort-Object Status |
Get-ChildItem | Measure-Object -Property Length -Sum |
Berechnet die Gesamtgröße aller Dateien im aktuellen Verzeichnis. | PS C:\Users\IhrBenutzername> Get-ChildItem | Measure-Object -Property Length -Sum |
Get-WmiObject Win32_BIOS | Select-Object SerialNumber |
Gibt die Seriennummer der BIOS zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_BIOS | Select-Object SerialNumber |
Get-EventLog -LogName System | Where-Object |
Gibt alle Fehler-Einträge im System-Protokoll zurück. | PS C:\Users\IhrBenutzername> Get-EventLog -LogName System | Where-Object |
Get-Content file.txt | ForEach-Object |
Konvertiert den Inhalt einer Datei in Großbuchstaben. | PS C:\Users\IhrBenutzername> Get-Content file.txt | ForEach-Object |
Get-Help Get-Process -Examples |
Gibt Beispiele für den Befehl Get-Process zurück. |
PS C:\Users\IhrBenutzername> Get-Help Get-Process -Examples |
Get-NetAdapter | Select-Object Name, Status |
Gibt den Namen und den Status aller Netzwerkadapter zurück. | PS C:\Users\IhrBenutzername> Get-NetAdapter | Select-Object Name, Status |
Einfache Filterung und Sortierung
| Befehl | Beschreibung | Beispiel |
|---|---|---|
Get-ChildItem | Where-Object |
Faltet alle Dateien größer als 10 MB im aktuellen Verzeichnis. | PS C:\Users\IhrBenutzername> Get-ChildItem | Where-Object |
Get-WmiObject Win32_DiskDrive | Sort-Object Size |
Sortiert Festplatten nach Größe. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_DiskDrive | Sort-Object Size |
Get-EventLog -LogName Application | Where-Object |
Faltet alle Einträge im Anwendungskatalog, die von Windows Update stammen. | PS C:\Users\IhrBenutzername> Get-EventLog -LogName Application | Where-Object |
Get-Service | Sort-Object DisplayName |
Sortiert Dienste nach ihrem Anzeigenamen. | PS C:\Users\IhrBenutzername> Get-Service | Sort-Object DisplayName |
Get-Process | Where-Object |
Faltet alle Prozesse, die Notepad heißen. | PS C:\Users\IhrBenutzername> Get-Process | Where-Object |
Get-WmiObject Win32_OperatingSystem | Select-Object -Property Caption, OSArchitecture |
Gibt den Betriebssystemnamen und die Architektur zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_OperatingSystem | Select-Object -Property Caption, OSArchitecture |
Get-HotFix | Sort-Object Description |
Sortiert Hotfixes nach der Beschreibung. | PS C:\Users\IhrBenutzername> Get-HotFix | Sort-Object Description |
Get-NetIPConfiguration | Where-Object |
Faltet alle Netzwerkkonfigurationen mit IPv4-Adressen. | PS C:\Users\IhrBenutzername> Get-NetIPConfiguration | Where-Object |
Zusammenfassung und Aggregation
| Befehl | Beschreibung | Beispiel |
|---|---|---|
Get-ChildItem | Measure-Object -Property Length -Sum |
Berechnet die Gesamtgröße aller Dateien im aktuellen Verzeichnis. | PS C:\Users\IhrBenutzername> Get-ChildItem | Measure-Object -Property Length -Sum |
Get-Process | Group-Object ProcessName |
Faltet Prozesse nach Name und gibt eine Zusammenfassung der Anzahl zurück. | PS C:\Users\IhrBenutzername> Get-Process | Group-Object ProcessName |
Get-WmiObject Win32_DiskDrive | Measure-Object -Property Size -Sum |
Berechnet die Gesamtgröße aller Festplatten. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_DiskDrive | Measure-Object -Property Size -Sum |
Get-EventLog -LogName System | Group-Object EntryType |
Faltet Ereignisprotokolle nach Eintragstyp und gibt eine Zusammenfassung der Anzahl zurück. | PS C:\Users\IhrBenutzername> Get-EventLog -LogName System | Group-Object EntryType |
Get-WmiObject Win32_OperatingSystem | Measure-Object -Property FreePhysicalMemory -Sum |
Berechnet die Gesamtgröße des freien physischen Speichers. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_OperatingSystem | Measure-Object -Property FreePhysicalMemory -Sum |
Get-HotFix | Group-Object Description |
Faltet Hotfixes nach Beschreibung und gibt eine Zusammenfassung der Anzahl zurück. | PS C:\Users\IhrBenutzername> Get-HotFix | Group-Object Description |
Get-NetAdapterStatistics | Measure-Object -Property PacketsReceived -Sum |
Berechnet die Gesamtzahl der empfangenen Pakete aller Netzwerkadapter. | PS C:\Users\IhrBenutzername> Get-NetAdapterStatistics | Measure-Object -Property PacketsReceived -Sum |
Get-WmiObject Win32_Battery | Group-Object BatteryStatus |
Faltet Batterien nach Status und gibt eine Zusammenfassung der Anzahl zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_Battery | Group-Object BatteryStatus |
Aktionen und Umwandlungen
| Befehl | Beschreibung | Beispiel |
|---|---|---|
Get-ChildItem | ForEach-Object |
Konvertiert die Namen aller Dateien im aktuellen Verzeichnis in Großbuchstaben. | PS C:\Users\IhrBenutzername> Get-ChildItem | ForEach-Object |
Get-WmiObject Win32_DiskDrive | Select-Object -Property @ |
Gibt die Größe aller Festplatten in GB zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_DiskDrive | Select-Object -Property @ |
Get-EventLog -LogName Application | ForEach-Object |
Gibt die Meldungen aller Einträge im Anwendungskatalog zurück. | PS C:\Users\IhrBenutzername> Get-EventLog -LogName Application | ForEach-Object |
Get-WmiObject Win32_OperatingSystem | Select-Object @ |
Gibt den freien physischen Speicher in MB zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_OperatingSystem | Select-Object @ |
Get-HotFix | ForEach-Object |
Gibt die Beschreibung aller Hotfixes zurück. | PS C:\Users\IhrBenutzername> Get-HotFix | ForEach-Object |
Get-NetAdapterStatistics | Select-Object @ |
Gibt die Anzahl der empfangenen Pakete pro Stunde aller Netzwerkadapter zurück. | PS C:\Users\IhrBenutzername> Get-NetAdapterStatistics | Select-Object @ |
Get-WmiObject Win32_Battery | ForEach-Object |
Gibt den Status aller Batterien zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_Battery | ForEach-Object |
Get-Process | Select-Object @ |
Gibt den Arbeitsspeicherbedarf aller Prozesse in MB zurück. | PS C:\Users\IhrBenutzername> Get-Process | Select-Object @ |
Ausgabeformatierung und Darstellung
| Befehl | Beschreibung | Beispiel |
|---|---|---|
Get-ChildItem | Format-Table -Property Name, Length |
Gibt die Namen und Größen aller Dateien im aktuellen Verzeichnis in einer Tabelle zurück. | PS C:\Users\IhrBenutzername> Get-ChildItem | Format-Table -Property Name, Length |
Get-WmiObject Win32_DiskDrive | Format-List -Property Model, Size |
Gibt die Modellnamen und Größen aller Festplatten in einer Liste zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_DiskDrive | Format-List -Property Model, Size |
Get-EventLog -LogName Application | Format-Table -Property TimeGenerated, Message |
Gibt die Generierungszeit und Meldung aller Einträge im Anwendungskatalog in einer Tabelle zurück. | PS C:\Users\IhrBenutzername> Get-EventLog -LogName Application | Format-Table -Property TimeGenerated, Message |
Get-WmiObject Win32_OperatingSystem | Format-Custom -Property Caption, OSArchitecture, FreePhysicalMemory |
Gibt den Betriebssystemnamen, die Architektur und den freien physischen Speicher in einer benutzerdefinierten Darstellung zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_OperatingSystem | Format-Custom -Property Caption, OSArchitecture, FreePhysicalMemory |
Get-HotFix | Format-Table -Property Description, HotFixID |
Gibt die Beschreibung und ID aller Hotfixes in einer Tabelle zurück. | PS C:\Users\IhrBenutzername> Get-HotFix | Format-Table -Property Description, HotFixID |
Get-NetAdapterStatistics | Format-Custom -Property PacketsReceived, PacketsSent |
Gibt die Anzahl der empfangenen und gesendeten Pakete aller Netzwerkadapter in einer benutzerdefinierten Darstellung zurück. | PS C:\Users\IhrBenutzername> Get-NetAdapterStatistics | Format-Custom -Property PacketsReceived, PacketsSent |
Get-WmiObject Win32_Battery | Format-List -Property BatteryStatus, EstimatedChargeRemaining |
Gibt den Status und die verbleibende Ladung aller Batterien in einer Liste zurück. | PS C:\Users\IhrBenutzername> Get-WmiObject Win32_Battery | Format-List -Property BatteryStatus, EstimatedChargeRemaining |
Get-Process | Format-Custom -Property ProcessName, CPU, MemoryUsageMB |
Gibt den Namen, die CPU-Auslastung und den Arbeitsspeicherbedarf aller Prozesse in einer benutzerdefinierten Darstellung zurück. | PS C:\Users\IhrBenutzername> Get-Process | Format-Custom -Property ProcessName, CPU, MemoryUsageMB |
Praxisbeispiele: Befehle kombinieren
Beispiel 1: Prozesse mit hoher CPU-Auslastung identifizieren und in eine Tabelle formatieren
Beispiel 2: Dienste nach Status sortieren und den Anzeigenamen und Status auswählen
Beispiel 3: Festplattengröße und Modellnamen in einer benutzerdefinierten Darstellung formatieren
Vorsicht bei diesen Befehlen
Einige Pipeline-Befehle können gefährlich sein, insbesondere wenn sie mit ForEach-Object verwendet werden. Stellen Sie vor dem Ausführen solcher Befehle ein Backup an. Zum Beispiel:
Häufige Fragen
Kann ich mehrere Pipeline-Befehle in einer Zeile verwenden?
Ja, Sie können mehrere Pipeline-Befehle in einer Zeile verketten. Dies ermöglicht es Ihnen, komplexe Aufgaben mit nur wenigen Befehlen auszuführen.
Was passiert, wenn ein Befehl in der Pipeline fehlschlägt?
Wenn ein Befehl in der Pipeline einen Fehler wirft, werden die nachfolgenden Befehle nicht ausgeführt. PowerShell versucht jedoch, so viele Befehle wie möglich auszuführen.
Kann ich den Output einer Pipeline-Befehlskette speichern?
Ja, Sie können den Output einer Pipeline-Befehlskette mit dem Out-File oder Export-Csv Cmdlet in eine Datei speichern. Zum Beispiel:
Wie kann ich Hilfe zu einem bestimmten Pipeline-Cmdlet erhalten?
Verwenden Sie das Get-Help Cmdlet, um Informationen und Beispiele für ein bestimmtes Cmdlet anzuzeigen. Zum Beispiel:
Fazit
Die PowerShell Pipeline ist eine leistungsstarke und flexible Funktionalität, die Ihnen ermöglicht, komplexe Aufgaben effizient auszuführen. Durch das Verketten von Befehlen können Sie Daten filtern, sortieren, aggregieren und formatieren. IT-Tribus in Nideggen steht Ihnen bei der Umsetzung oder weiteren Fragen gerne zur Verfügung.
Quellen und weiterführende Informationen
- about_Pipelines – PowerShell – learn.microsoft.com
- Einzeiler und die Pipeline – PowerShell 101 – learn.microsoft.com
- PowerShell-Dokumentation – PowerShell – learn.microsoft.com
- about_Pipeline_Chain_Operators – PowerShell – learn.microsoft.com
- Entdecken von PowerShell – learn.microsoft.com
- Was ist PowerShell? – PowerShell – learn.microsoft.com
Hinweis: Dieser Beitrag wurde am 29.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 Pipeline?
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.
