PowerShell Grundlagen Cheatsheet

Core Cmdlets & Konzepte
Die wichtigsten PowerShell-Cmdlets und Konzepte: Get-Help · Get-Command · Get-ChildItem · Set-Location · Pipeline · Alias PowerShell ist eine leistungsstarke Shell und Skriptsprache für Windows, Linux und macOS. Diese Befehle sind das Fundament für die Automatisierung und Systemadministration.

Get-Help – Hilfe anzeigen

Get-Help [Cmdlet] [-Examples] [-Online]
Get-Help Get-ChildItem -Examples

Get-Help zeigt die integrierte Hilfe zu einem Cmdlet oder Konzept an – inklusive Syntax, Parametern und Beispielen.

Häufige Optionen

Option Beschreibung
-Examples Zeigt Beispiele für die Verwendung des Cmdlets
-Online Öffnet die Online-Hilfe im Browser
-Detailed Zeigt detaillierte Hilfe mit Parametern und Beispielen
-Full Zeigt die vollständige Hilfe
Beispiele
Get-Help Get-Process # Hilfe zu Get-Process
Get-Help Get-ChildItem -Examples # Beispiele anzeigen
Get-Help -Online Get-Command # Online-Hilfe öffnen
help Get-Process # Alias für Get-Help (interaktiv)
Tipp: Get-Help * zeigt eine Liste aller verfügbaren Hilfethemen. Mit Update-Help aktualisieren Sie die Hilfe-Datenbank.

Get-Command – Cmdlets auflisten

Get-Command [-Name *Muster*] [-CommandType Cmdlet]
Get-Command -Name *Process*

Get-Command listet alle verfügbaren Cmdlets, Funktionen, Aliase und Skripte auf – mit Filtermöglichkeiten.

Häufige Optionen

Option Beschreibung
-Name *Muster* Filtert nach Namen (Wildcards erlaubt)
-CommandType Filtert nach Typ (Cmdlet, Function, Alias, etc.)
-Module Zeigt Cmdlets aus einem bestimmten Modul
Beispiele
Get-Command # Alle verfügbaren Cmdlets
Get-Command -Name *Item* # Alle Cmdlets mit "Item" im Namen
Get-Command -CommandType Cmdlet # Nur Cmdlets
gcm *Service* # Alias gcm für Get-Command
Typische Ausgabe von Get-Command *Process*:
CommandType Name Version Source
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management
Tipp: Get-Command * zeigt alle Befehle. Mit Get-Command -Verb Get sehen Sie alle Cmdlets, die mit "Get" beginnen.

Get-ChildItem – Verzeichnisinhalt anzeigen

Get-ChildItem [-Path] [Pfad] [-Recurse] [-File] [-Directory]
Get-ChildItem -Path C:\Users -Recurse

Get-ChildItem (Alias: dir, ls) listet den Inhalt eines Verzeichnisses auf – Dateien, Ordner und versteckte Elemente.

Häufige Optionen

Option Beschreibung
-Recurse Rekursive Suche in Unterverzeichnissen
-File Nur Dateien anzeigen
-Directory Nur Verzeichnisse anzeigen
-Hidden Versteckte Elemente einbeziehen
-Depth Rekursionstiefe begrenzen
Beispiele
Get-ChildItem # Aktuelles Verzeichnis auflisten
Get-ChildItem -Path C:\Windows -File # Nur Dateien in C:\Windows
Get-ChildItem -Recurse -Filter *.log # Alle .log-Dateien rekursiv
ls -Recurse # Alias ls mit Rekursion
Typische Ausgabe von Get-ChildItem:
Mode LastWriteTime Length Name
d----- 15.03.2025 10:30 Dokumente
-a---- 15.03.2025 09:15 1024 datei.txt
Tipp: Get-ChildItem -Recurse -File *.log ist die PowerShell-Entsprechung zu find . -name "*.log" unter Linux.

Set-Location – Verzeichnis wechseln

Set-Location [-Path] Pfad
Set-Location C:\Users\Administrator\Desktop

Set-Location (Alias: cd, sl) wechselt das aktuelle Arbeitsverzeichnis. Ohne Argument wird das Home-Verzeichnis aufgerufen.

Wichtige Pfad-Kürzel

Kürzel Bedeutung
~ Home-Verzeichnis des aktuellen Benutzers
.. Ein Verzeichnis übergeordnet
../.. Zwei Verzeichnisse übergeordnet
.\ Aktuelles Verzeichnis
Beispiele
Set-Location ~ # Wechselt ins Home-Verzeichnis
Set-Location C:\Program Files # Wechselt nach C:\Program Files
cd .. # Wechselt ein Verzeichnis zurück
cd ~/Dokumente # Wechselt ins Dokumente-Verzeichnis
Tipp: cd funktioniert sowohl unter Windows als auch unter Linux/macOS in PowerShell identisch.

Pipeline – Cmdlets verketten

Befehl1 | Befehl2 | Befehl3
Get-Process | Where-Object { $_.CPU -gt 10 }

Die Pipeline (|) übergibt Objekte von einem Cmdlet an das nächste. PowerShell arbeitet objektorientiert – es werden keine Textströme, sondern .NET-Objekte übergeben.

Wichtige Pipeline-Cmdlets

Cmdlet Beschreibung
Where-Object Filtert Objekte nach Bedingungen
Select-Object Wählt Eigenschaften aus oder begrenzt Anzahl
Sort-Object Sortiert Objekte nach Eigenschaften
ForEach-Object Führt für jedes Objekt eine Aktion aus
Export-Csv Exportiert Objekte als CSV-Datei
Beispiele
Get-Process | Where-Object CPU -gt 10 # Prozesse mit CPU > 10%
Get-Service | Where-Object Status -eq 'Running' # Laufende Dienste
Get-ChildItem | Sort-Object Length -Descending # Nach Größe sortieren
Get-Process | Select-Object Name, CPU -First 5 # Top 5 Prozesse
Typische Ausgabe der Pipeline:
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
812 52 145672 189432 45.32 1234 1 powershell
456 38 98724 112348 12.15 5678 1 chrome
Tipp: Die Pipeline ist das Herzstück von PowerShell. Sie können beliebig viele Cmdlets verketten – die Ausgabe eines Cmdlets wird automatisch als Eingabe für das nächste verwendet.

Alias – Kurzbefehle

Get-Alias / Set-Alias
Set-Alias ll Get-ChildItem

Aliase sind Kurznamen für Cmdlets. PowerShell bringt viele Aliase mit (z.B. ls, cd, cat), die an Linux/Mac-Benutzer gewöhnt sind.

Häufige Aliase

Alias Cmdlet Beschreibung
ls / dir Get-ChildItem Verzeichnisinhalt anzeigen
cd / sl Set-Location Verzeichnis wechseln
cat / type Get-Content Dateiinhalt anzeigen
ps Get-Process Prozesse anzeigen
kill Stop-Process Prozess beenden
echo Write-Output Text ausgeben
Beispiele
Get-Alias # Alle Aliase anzeigen
Get-Alias ls # Anzeigen, wofür ls steht
Set-Alias ll Get-ChildItem # Eigenen Alias erstellen
Remove-Item Alias:ll # Alias löschen
Typische Ausgabe von Get-Alias ls:
CommandType Name Version Source
Alias ls -> Get-ChildItem
Tipp: Sie können Ihre eigenen Aliase in Ihrem PowerShell-Profil ($PROFILE) dauerhaft speichern, damit sie bei jedem Start verfügbar sind.

PowerShell-Konzepte im Überblick

Verb-Nomen Cmdlets haben ein Verb (Aktion) und ein Nomen (Objekt).
z.B. Get-Process, Set-Location
Pipeline Objekte von einem Cmdlet zum nächsten.
z.B. Get-Process | Where-Object
Aliase Kurzbefehle für Cmdlets.
z.B. ls = Get-ChildItem
Provider Zugriff auf Datenstores wie Registry, Zertifikate, Dateisystem.
z.B. cd HKLM:\

Quick Summary

Get-Help
Hilfe anzeigen
Get-Command
Cmdlets auflisten
Get-ChildItem
Inhalt auflisten
Set-Location
Verzeichnis wechseln
Pipeline
Objekte verketten
Alias
Kurzbefehle
Get-Process | Where-Object CPU -gt 10 – Prozesse mit CPU > 10% filtern