PowerShell-Befehle: Spickzettel für Cmdlets

PowerShell-Befehle zum Nachschlagen: Cmdlets für Dateien, Pipeline, Prozesse, Dienste, Netzwerk und Umgebung, jeweils mit kurzer Erklärung. Suchen Sie nach Aufgabe oder Alias und kopieren Sie den Befehl.

67 Einträge

Hilfe und Orientierung

Get-Help Get-ChildItem -ExamplesHilfe mit Beispielen zu einem Cmdlet
Update-HelpHilfetexte herunterladen (als Administrator)
Get-Command *service*Cmdlets finden, deren Name „service“ enthält
Get-Process | Get-MemberEigenschaften und Methoden der Objekte anzeigen
Get-Alias lsWofür ein Alias steht (hier Get-ChildItem)
$PSVersionTableVersion von PowerShell anzeigen
Get-HistoryBisher eingegebene Befehle

Dateien und Ordner

Get-ChildItemInhalt des Ordners anzeigen (Aliase ls, dir, gci)
Get-ChildItem -Recurse -Filter *.logRekursiv nach Dateien suchen
Get-ChildItem -ForceAuch versteckte Dateien anzeigen
Set-Location C:\ProjekteOrdner wechseln (Alias cd)
Get-LocationAktuellen Ordner anzeigen (Alias pwd)
New-Item -ItemType Directory -Path logsOrdner anlegen (auch mkdir logs)
New-Item -ItemType File -Path notiz.txtLeere Datei anlegen
Copy-Item quelle -Destination ziel -RecurseOrdner samt Inhalt kopieren
Move-Item alt.txt archiv\Datei verschieben
Rename-Item alt.txt neu.txtDatei umbenennen
Remove-Item datei.txtDatei löschen (landet nicht im Papierkorb)
Remove-Item ordner -Recurse -ForceOrdner mit Inhalt löschen, ohne Rückfrage
Test-Path C:\Projekte\appPrüfen, ob ein Pfad existiert (True/False)
Get-Content app.log -Tail 20 -WaitLetzte 20 Zeilen anzeigen und neue mitlesen
Set-Content -Path notiz.txt -Value "Hallo"Datei mit Text überschreiben
Add-Content -Path notiz.txt -Value "Neue Zeile"Text anhängen
Select-String -Path *.log -Pattern "Fehler"Text in Dateien suchen, ähnlich wie grep
Get-FileHash setup.exe -Algorithm SHA256Prüfsumme einer Datei berechnen
Compress-Archive -Path ordner -DestinationPath archiv.zipZIP-Archiv erstellen
Expand-Archive archiv.zip -DestinationPath zielZIP-Archiv entpacken

Pipeline und Objekte

Get-Process | Where-Object CPU -gt 100Objekte filtern (lange Form: Where-Object { $_.CPU -gt 100 })
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5Sortieren und die ersten fünf nehmen
Get-Process | Select-Object Name, Id, CPUNur bestimmte Eigenschaften
Get-ChildItem | ForEach-Object { $_.Name.ToUpper() }Für jedes Objekt etwas ausführen
Get-ChildItem | Group-Object ExtensionNach Eigenschaft gruppieren und zählen
Get-ChildItem -Recurse | Measure-Object Length -SumSumme, Anzahl, Durchschnitt berechnen
Get-Service | Format-Table -AutoSizeAls Tabelle ausgeben
Get-Process -Id $PID | Format-List *Alle Eigenschaften als Liste
Get-Process | Export-Csv prozesse.csv -NoTypeInformation -Encoding utf8Als CSV speichern
Import-Csv daten.csv | Where-Object Ort -eq "Berlin"CSV einlesen und filtern
Get-Service | ConvertTo-Json -Depth 3In JSON umwandeln
Get-Content daten.json -Raw | ConvertFrom-JsonJSON-Datei in Objekte umwandeln
Get-Process | Out-File prozesse.txtAusgabe in Datei schreiben

Prozesse, Dienste, System

Get-ProcessLaufende Prozesse (Alias ps)
Stop-Process -Name notepadProzess beenden (auch -Id 1234)
Start-Process notepadProgramm starten
Start-Process powershell -Verb RunAsPowerShell als Administrator öffnen
Get-ServiceDienste anzeigen
Get-Service | Where-Object Status -eq RunningNur laufende Dienste
Restart-Service SpoolerDienst neu starten (auch Start-Service, Stop-Service)
Get-CimInstance Win32_OperatingSystemBetriebssystem, Version, Speicher
Get-ComputerInfoAusführliche Systeminformationen (Windows)
Get-WinEvent -LogName System -MaxEvents 20Die letzten Ereignisse aus dem Systemprotokoll
Get-Date -Format "yyyy-MM-dd HH:mm"Datum und Uhrzeit formatiert

Netzwerk

Test-Connection example.com -Count 4Erreichbarkeit prüfen, wie ping
Test-NetConnection example.com -Port 443Prüfen, ob ein TCP-Port erreichbar ist (Windows)
Resolve-DnsName example.com -Type MXDNS-Abfrage, etwa MX-Einträge (Windows)
Get-NetIPConfigurationIP-Adressen, Gateway und DNS-Server (Windows)
Get-NetTCPConnection -State ListenOffene, lauschende Ports (Windows)
Invoke-WebRequest https://example.com -OutFile seite.htmlDatei herunterladen
Invoke-RestMethod https://api.example.com/datenREST-API abrufen, JSON wird automatisch zu Objekten

Umgebung, Module, Skripte

$env:PATHUmgebungsvariable lesen
$env:APP_MODUS = "test"Umgebungsvariable für die aktuelle Sitzung setzen
[Environment]::SetEnvironmentVariable("APP_MODUS", "test", "User")Dauerhaft für den Benutzer setzen
Get-ExecutionPolicy -ListAusführungsrichtlinien je Bereich
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserEigene Skripte erlauben, heruntergeladene müssen signiert sein
$PROFILEPfad zum Profilskript, das beim Start geladen wird
Get-Module -ListAvailableInstallierte Module
Install-Module -Name Pester -Scope CurrentUserModul aus der PowerShell Gallery installieren
.\skript.ps1Skript im aktuellen Ordner ausführen

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

PowerShell Befehle Liste mit Erklärung

Der PowerShell Spickzettel fasst 67 Befehle zusammen: Hilfe finden, Dateien und Ordner bearbeiten, die Pipeline mit Objekten nutzen, Prozesse und Dienste steuern, Netzwerk prüfen und Umgebungsvariablen setzen. Gesucht wird in Befehl und Beschreibung, also finden Sie Get-ChildItem auch über „Ordner anzeigen“ oder den Alias „ls“.

PowerShell Cmdlets folgen dem Schema Verb-Substantiv, etwa Get-Process, Stop-Service oder New-Item. Anders als in Bash fließen durch die Pipeline keine Textzeilen, sondern Objekte mit Eigenschaften. Deshalb filtern Sie mit Where-Object direkt nach Eigenschaften wie CPU oder Status, ohne Text zu zerlegen. Mit Get-Member sehen Sie, welche Eigenschaften ein Objekt hat.

Die Befehle laufen in Windows PowerShell 5.1 und in PowerShell 7, die auch auf macOS und Linux verfügbar ist. Einige Cmdlets wie Get-NetIPConfiguration oder Test-NetConnection gibt es nur unter Windows; das ist jeweils vermerkt. Den Gegenpart für Linux finden Sie in den Bash-Befehlen; Prüfsummen ohne Konsole berechnet der Hash-Generator.

Anleitung: PowerShell-Befehle in 4 Schritten

  1. Im Feld „Suchen“ eine Aufgabe, ein Cmdlet oder einen Alias eingeben, etwa „Prüfsumme“ oder „ls“.
  2. Unter „Gruppe“ einen Bereich wählen, zum Beispiel Dateien und Ordner, Netzwerk oder Prozesse, Dienste, System.
  3. Die kurze Erklärung neben dem Befehl lesen.
  4. Den Befehl mit „Kopieren“ übernehmen, in die PowerShell einfügen und Platzhalter wie Pfade oder Namen anpassen.

Typische Anwendungsfälle

  • Dateien finden: Mit Get-ChildItem -Recurse -Filter rekursiv nach Logdateien oder bestimmten Endungen suchen.
  • Downloads prüfen: Mit Get-FileHash die Prüfsumme einer Installationsdatei berechnen.
  • Netzwerk testen: Mit Test-NetConnection prüfen, ob ein Server auf Port 443 erreichbar ist.
  • Skripte ausführen: Mit Set-ExecutionPolicy eigene .ps1-Skripte für den aktuellen Benutzer erlauben.
Fragen

Häufige Fragen

Was ist ein Cmdlet?

Ein Cmdlet ist ein eingebauter PowerShell-Befehl nach dem Muster Verb-Substantiv, etwa Get-ChildItem. Cmdlets geben Objekte zurück, die Sie in der Pipeline weiterverarbeiten können.

Warum darf ich mein Skript nicht ausführen?

Unter Windows verhindert die Ausführungsrichtlinie standardmäßig Skripte. Mit Set-ExecutionPolicy RemoteSigned -Scope CurrentUser erlauben Sie eigene Skripte für Ihr Benutzerkonto; aus dem Internet geladene Skripte müssen dann signiert sein.

Ist Windows PowerShell dasselbe wie PowerShell 7?

Nein. Windows PowerShell 5.1 ist in Windows enthalten und wird nur noch gepflegt. PowerShell 7 ist die plattformübergreifende Weiterentwicklung und wird mit pwsh gestartet. Die meisten Befehle funktionieren in beiden.

Wie finde ich den passenden Befehl?

Mit Get-Command *wort* suchen Sie nach Namen, mit Get-Help befehl -Examples sehen Sie Beispiele. Aliase wie ls oder cd löst Get-Alias auf.

Wie lösche ich einen Ordner mit Inhalt?

Mit Remove-Item ordner -Recurse -Force. Die Dateien landen nicht im Papierkorb. Testen Sie vorher mit -WhatIf, was gelöscht würde.

Wie öffne ich PowerShell als Administrator?

Im Startmenü nach PowerShell suchen, mit der rechten Maustaste klicken und „Als Administrator ausführen“ wählen. Aus einer laufenden Sitzung heraus geht es mit Start-Process powershell -Verb RunAs.

Was ist der Unterschied zwischen Windows PowerShell und PowerShell 7?

Windows PowerShell 5.1 ist in Windows eingebaut und startet mit powershell.exe. PowerShell 7 ist die plattformübergreifende Weiterentwicklung für Windows, macOS und Linux, wird separat installiert und startet mit pwsh; beide können parallel installiert sein.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge