PowerShell Befehle für Windows 11 und Windows 10: Hier lernen Sie Schritt für Schritt, wie Sie wichtige Befehle in der PowerShell eingeben und nutzen.

Die Windows PowerShell ist eines der mächtigsten Werkzeuge, die Microsoft in sein Betriebssystem integriert hat. Mit den richtigen PowerShell-Befehlen lassen sich Dateien verwalten, Netzwerke analysieren, Systeminfos abrufen und wiederkehrende Aufgaben vollständig automatisieren – schneller und präziser als jede grafische Oberfläche.
Dieser Artikel zeigt Ihnen, welche Befehle Sie kennen müssen, wie Sie diese einsetzen und wie Sie in Windows 10 sowie Windows 11 sofort produktiv werden.
Was ist die PowerShell und warum sollten Sie sie nutzen?
Die Windows PowerShell ist eine aufgabenbasierte Befehlszeilen-Shell sowie eine Skriptsprache, die auf dem .NET-Framework basiert. Microsoft hat sie entwickelt, um Systemadministratoren und erfahrenen Benutzern eine leistungsfähigere Alternative zur klassischen Eingabeaufforderung (cmd.exe) zu bieten. Anders als die alte Kommandozeile arbeitet PowerShell mit sogenannten Cmdlets (gesprochen: „Command-lets“) – das sind speziell entwickelte Befehle, die nach dem Muster Verb-Substantiv aufgebaut sind, zum Beispiel Get-Process oder Set-Location.
Zusätzlich ermöglicht die PowerShell den Zugriff auf das komplette Windows Management Instrumentation (WMI) sowie auf .NET-Klassen direkt aus der Kommandozeile. Deshalb eignet sie sich hervorragend für Systemadministratoren, Entwickler und alle, die Windows effizienter nutzen wollen.
Seit Windows 10 ist die PowerShell standardmäßig installiert und kann sofort genutzt werden. In Windows 11 hat Microsoft die PowerShell 5.1 weiterhin integriert, empfiehlt jedoch den Einsatz von PowerShell 7 (auch „PowerShell Core“ genannt), die plattformübergreifend auf Windows, Linux und macOS läuft. Beide Versionen sind auf Windows 10 und Windows 11 nutzbar.
PowerShell öffnen in Windows 10 und Windows 11
Bevor Sie Befehle ausführen können, müssen Sie zunächst die PowerShell starten. Es gibt dabei mehrere Wege:
Methode 1 – Über das Startmenü:
Klicken Sie auf das Startmenü, tippen Sie PowerShell ein und wählen Sie entweder „Windows PowerShell“ (Standardversion) oder „Windows PowerShell (Administrator)“, wenn Sie erhöhte Rechte benötigen.
Methode 2 – Per Tastenkombination (Windows 11):
Drücken Sie Win + X und wählen Sie aus dem Schnellzugriffsmenü „Terminal“ oder „Terminal (Administrator)“. In Windows 11 ist das Windows Terminal die Standardanwendung, das PowerShell als Standardprofil verwendet.
Methode 3 – Per Tastenkombination (Windows 10):
Drücken Sie Win + X und wählen Sie „Windows PowerShell“ oder „Windows PowerShell (Administrator)“.
Methode 4 – Über den Ausführen-Dialog:
Drücken Sie Win + R, geben Sie powershell ein und bestätigen Sie mit Enter. Für eine Administrator-Sitzung halten Sie stattdessen Strg + Umschalt + Enter gedrückt.
Methode 5 – Im Explorer:
Navigieren Sie zu einem beliebigen Ordner, halten Sie Umschalt gedrückt und klicken Sie mit der rechten Maustaste in einen freien Bereich des Ordners. Wählen Sie anschließend „PowerShell-Fenster hier öffnen“.
Tipp: Viele wichtige PowerShell-Befehle, insbesondere solche zur Systemkonfiguration, erfordern Administratorrechte. Starten Sie die PowerShell deshalb im Zweifelsfall immer als Administrator.
Die wichtigsten PowerShell-Befehle im Überblick
Grundlegende Navigations- und Hilfebefehle
Als Einstieg sind die folgenden Cmdlets besonders wichtig, da sie Ihnen helfen, die Shell zu verstehen und sich darin zurechtzufinden.
Get-Help – Das Hilfesystem der PowerShell. Damit rufen Sie die Dokumentation zu jedem Cmdlet ab:
Get-Help Get-Process
Get-Help Get-Process -Detailed
Get-Help Get-Process -Examples
Get-Command – Zeigt alle verfügbaren Befehle an. Außerdem können Sie gezielt nach Befehlen suchen, die ein bestimmtes Verb oder Substantiv enthalten:
Get-Command
Get-Command -Verb Get
Get-Command -Noun Process
Get-Alias – Zeigt alle Kurzschreibweisen (Aliase) für Cmdlets an. So ist zum Beispiel ls ein Alias für Get-ChildItem:
Get-Alias
Get-Alias ls
Clear-Host – Löscht den Bildschirminhalt des Terminals, ähnlich wie cls in der Eingabeaufforderung:
Clear-Host
Dateien und Ordner verwalten
Einer der häufigsten Anwendungsfälle der PowerShell ist die Dateiverwaltung. Die folgenden Befehle ersetzen nicht nur den Windows Explorer, sondern bieten zudem deutlich mehr Funktionen.
Get-ChildItem – Zeigt den Inhalt eines Verzeichnisses an (ähnlich wie dir oder ls):
Get-ChildItem
Get-ChildItem -Path C:\Windows
Get-ChildItem -Path C:\ -Recurse -Filter *.log
Set-Location – Wechselt das aktuelle Verzeichnis (entspricht dem cd-Befehl):
Set-Location C:\Users\Benutzername\Documents
New-Item – Erstellt neue Dateien oder Ordner:
New-Item -Path C:\Testordner -ItemType Directory
New-Item -Path C:\Testordner\test.txt -ItemType File
Copy-Item – Kopiert Dateien und Ordner:
Copy-Item -Path C:\Quelle\datei.txt -Destination C:\Ziel\
Copy-Item -Path C:\Quelle -Destination C:\Ziel -Recurse
Move-Item – Verschiebt Dateien oder Ordner:
Move-Item -Path C:\Alt\datei.txt -Destination C:\Neu\
Remove-Item – Löscht Dateien und Ordner. Dabei ist Vorsicht geboten, da gelöschte Elemente nicht in den Papierkorb verschoben werden:
Remove-Item -Path C:\Testordner\test.txt
Remove-Item -Path C:\Testordner -Recurse
Rename-Item – Benennt eine Datei oder einen Ordner um:
Rename-Item -Path C:\Ordner\alt.txt -NewName neu.txt
Get-Content – Liest den Inhalt einer Textdatei aus:
Get-Content -Path C:\logs\system.log
Get-Content -Path C:\logs\system.log -Tail 50
Prozesse und Dienste steuern
Die PowerShell eignet sich hervorragend dazu, laufende Prozesse und Windows-Dienste zu überwachen und zu steuern.
Get-Process – Listet alle laufenden Prozesse auf:
Get-Process
Get-Process -Name chrome
Stop-Process – Beendet einen Prozess anhand seines Namens oder seiner ID:
Stop-Process -Name notepad
Stop-Process -Id 1234
Start-Process – Startet ein Programm oder eine Anwendung:
Start-Process notepad
Start-Process "C:\Programme\Anwendung.exe"
Get-Service – Zeigt alle Windows-Dienste und deren Status an:
Get-Service
Get-Service -Name wuauserv
Start-Service und Stop-Service – Starten oder beenden Sie einen Dienst:
Start-Service -Name wuauserv
Stop-Service -Name wuauserv
Restart-Service – Startet einen Dienst neu – nützlich nach Konfigurationsänderungen:
Restart-Service -Name Spooler
Systeminformationen abrufen
Mit PowerShell lassen sich ausführliche Systeminformationen abfragen, die über das hinausgehen, was der Task-Manager oder die Systemsteuerung bieten.
Get-ComputerInfo – Gibt eine umfassende Übersicht über das System aus (nur PowerShell 5.1 und neuer):
Get-ComputerInfo
Get-ComputerInfo -Property OsName, CsName, WindowsVersion
Get-WmiObject / Get-CimInstance – Fragt WMI-Klassen ab. Get-CimInstance ist dabei die modernere und empfohlene Variante:
Get-CimInstance -ClassName Win32_OperatingSystem
Get-CimInstance -ClassName Win32_Processor
Get-CimInstance -ClassName Win32_PhysicalMemory
Get-CimInstance -ClassName Win32_LogicalDisk
Get-EventLog – Liest Einträge aus dem Windows-Ereignisprotokoll (für Windows PowerShell 5.1):
Get-EventLog -LogName System -Newest 20
Get-EventLog -LogName Application -EntryType Error -Newest 10
Get-Disk – Zeigt alle installierten Festplatten und SSDs an:
Get-Disk
Get-Volume – Listet alle Laufwerksvolumes auf:
Get-Volume
Netzwerk-Befehle in der PowerShell
Netzwerkdiagnose und -konfiguration gehören zu den stärksten Bereichen der PowerShell. Deshalb sind diese Befehle besonders für IT-Administratoren unverzichtbar.
Test-Connection – Führt einen Ping aus, ähnlich dem klassischen ping-Befehl, bietet jedoch mehr Optionen:
Test-Connection google.com
Test-Connection -ComputerName google.com -Count 5
Get-NetAdapter – Zeigt alle Netzwerkadapter und ihren Status an:
Get-NetAdapter
Get-NetIPAddress – Zeigt alle konfigurierten IP-Adressen:
Get-NetIPAddress
Get-NetIPAddress -AddressFamily IPv4
Get-NetRoute – Zeigt die aktuelle Routingtabelle:
Get-NetRoute
Resolve-DnsName – Löst einen Hostnamen in eine IP-Adresse auf (entspricht nslookup):
Resolve-DnsName google.com
Test-NetConnection – Prüft die Netzwerkverbindung zu einem Host auf einem bestimmten Port:
Test-NetConnection -ComputerName google.com -Port 443
Test-NetConnection -ComputerName 192.168.1.1 -Port 80
Get-NetTCPConnection – Zeigt alle aktiven TCP-Verbindungen an (entspricht netstat):
Get-NetTCPConnection
Get-NetTCPConnection -State Established
Benutzer und Berechtigungen verwalten
Auf lokaler Ebene erlaubt PowerShell die vollständige Verwaltung von Benutzerkonten und Gruppenberechtigungen.
Get-LocalUser – Listet alle lokalen Benutzerkonten auf:
Get-LocalUser
New-LocalUser – Erstellt ein neues lokales Benutzerkonto:
$password = Read-Host -AsSecureString "Passwort eingeben"
New-LocalUser -Name "Testbenutzer" -Password $password
Add-LocalGroupMember – Fügt einen Benutzer einer lokalen Gruppe hinzu:
Add-LocalGroupMember -Group "Administratoren" -Member "Testbenutzer"
Get-Acl – Zeigt die Zugriffsberechtigungen (ACL) einer Datei oder eines Ordners:
Get-Acl -Path C:\Wichtig
Set-Acl – Legt neue Berechtigungen für eine Datei oder einen Ordner fest.
Windows Update und Software verwalten
Seit Windows 10 und Windows 11 kann PowerShell in Kombination mit dem PSWindowsUpdate-Modul oder mit dem integrierten Windows Update-Modul genutzt werden.
Windows-Updates über PowerShell installieren:
Installieren Sie zunächst das Modul PSWindowsUpdate aus der PowerShell Gallery:
Install-Module -Name PSWindowsUpdate -Force
Import-Module PSWindowsUpdate
Get-WindowsUpdate
Install-WindowsUpdate -AcceptAll -AutoReboot
Installierte Software auflisten:
Get-Package
Get-Package | Where-Object {$_.Name -like "*Office*"}
Winget über PowerShell nutzen (Windows 10/11):
Ebenso lässt sich winget (der Windows Package Manager) direkt aus der PowerShell aufrufen:
winget search firefox
winget install Mozilla.Firefox
winget upgrade --all
Skripte erstellen und ausführen
Einer der größten Vorteile der PowerShell ist die Möglichkeit, Skripte zu schreiben und zu automatisieren. PowerShell-Skripte werden als .ps1-Dateien gespeichert.
Ausführungsrichtlinie prüfen:
Standardmäßig sind Skripte in Windows aus Sicherheitsgründen blockiert. Prüfen Sie zunächst die aktuelle Richtlinie:
Get-ExecutionPolicy
Ausführungsrichtlinie anpassen:
Für die eigene Entwicklung empfiehlt sich die Richtlinie RemoteSigned, die lokale Skripte erlaubt:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Skript erstellen und ausführen:
Speichern Sie Ihr Skript als .ps1-Datei, zum Beispiel backup.ps1, und führen Sie es anschließend aus:
.\backup.ps1
Beispiel-Skript – Automatisches Backup:
$Quelle = "C:\Dokumente"
$Ziel = "D:\Backup\Dokumente_$(Get-Date -Format 'yyyyMMdd')"
Copy-Item -Path $Quelle -Destination $Ziel -Recurse
Write-Host "Backup abgeschlossen: $Ziel"
Pipelines und Filterung
Ein weiteres mächtiges Konzept der PowerShell sind Pipelines. Damit können Sie die Ausgabe eines Cmdlets direkt als Eingabe für ein weiteres nutzen. Dadurch werden komplexe Aufgaben mit wenigen Zeilen lösbar.
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-ChildItem C:\ -Recurse | Where-Object {$_.Extension -eq ".log"} | Remove-Item
Zusätzlich ist Export-Csv ein häufig genutzter Befehl, um Daten in eine CSV-Datei zu exportieren:
Get-Process | Export-Csv -Path C:\prozesse.csv -NoTypeInformation
Ebenso nützlich ist Out-GridView, das die Ergebnisse in einem übersichtlichen Tabellenformat anzeigt:
Get-Process | Out-GridView
Empfohlene Vorgehensweisen für den PowerShell-Einsatz
Damit Sie effizient und sicher mit der PowerShell arbeiten, sollten Sie die folgenden Vorgehensweisen beachten:
1. Verwenden Sie das Windows Terminal: In Windows 11 und ab Windows 10 Version 1903 steht das Windows Terminal zur Verfügung. Es unterstützt mehrere Tabs, farbige Themes und ermöglicht das gleichzeitige Öffnen von PowerShell, WSL und CMD in einem Fenster. Installieren Sie es über den Microsoft Store (Suchbegriff: „Windows Terminal“).
2. Nutzen Sie die PowerShell ISE oder Visual Studio Code: Für das Schreiben von Skripten empfehlen wir entweder die integrierte PowerShell ISE (Integrated Scripting Environment, bereits in Windows enthalten) oder – für professionelle Anwendungen – Visual Studio Code mit der Erweiterung „PowerShell“ von Microsoft. VS Code bietet dabei Syntaxhervorhebung, Autovervollständigung und einen integrierten Debugger.
3. Testen Sie Befehle zuerst mit -WhatIf: Viele PowerShell-Cmdlets unterstützen den Parameter -WhatIf, der simuliert, was der Befehl tun würde, ohne ihn tatsächlich auszuführen:
Remove-Item -Path C:\Wichtig -Recurse -WhatIf
4. Nutzen Sie Tab-Vervollständigung: Drücken Sie die Tab-Taste, um Cmdlets, Parameter und Pfade automatisch zu vervollständigen. Deshalb sparen Sie erheblich Zeit und vermeiden Tippfehler.
5. Aktualisieren Sie die Hilfe regelmäßig: Führen Sie folgenden Befehl aus, um die Hilfedokumentation aktuell zu halten:
Update-Help
6. Setzen Sie PowerShell 7 ein: Für neue Projekte und plattformübergreifende Skripte empfiehlt sich PowerShell 7, die Sie kostenlos über GitHub (github.com/PowerShell/PowerShell) oder den Microsoft Store herunterladen können. Sie läuft parallel zur vorinstallierten PowerShell 5.1 und bietet verbesserte Performance sowie neue Sprachfeatures.
Häufige Fragen zu PowerShell-Befehlen
Was ist der Unterschied zwischen PowerShell und der Eingabeaufforderung (cmd)?
Die Eingabeaufforderung (cmd.exe) ist das ältere Kommandozeilentool von Windows, das auf MS-DOS-Befehlen basiert. Dagegen ist die PowerShell eine moderne Shell, die auf .NET aufbaut, objektorientiert arbeitet und weit umfangreichere Möglichkeiten zur Systemverwaltung und Automatisierung bietet. Deshalb empfiehlt Microsoft seit Windows 10 den Einsatz der PowerShell als Standard-Kommandozeile.
Wie führe ich PowerShell als Administrator aus?
Klicken Sie im Startmenü mit der rechten Maustaste auf „Windows PowerShell“ und wählen Sie „Als Administrator ausführen“. Alternativ drücken Sie Win + X und wählen „Windows PowerShell (Administrator)“ bzw. in Windows 11 „Terminal (Administrator)“.
Warum lässt sich mein PowerShell-Skript nicht ausführen?
Standardmäßig blockiert Windows die Ausführung von Skripten. Die Fehlermeldung lautet häufig „Die Ausführung von Skripts ist auf diesem System deaktiviert.“ Führen Sie deshalb folgenden Befehl als Administrator aus, um lokale Skripte zu erlauben: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.
Wie finde ich heraus, welche PowerShell-Version installiert ist?
Geben Sie in der PowerShell folgenden Befehl ein: $PSVersionTable.PSVersion. Dieser Befehl zeigt die genaue Versionsnummer Ihrer PowerShell an, zum Beispiel 5.1 oder 7.x.
Kann ich PowerShell-Befehle automatisch beim Start ausführen?
Ja. Erstellen Sie dazu eine Profil-Datei unter dem Pfad $PROFILE. Dieser Pfad zeigt auf eine .ps1-Datei, die bei jedem Starten der PowerShell automatisch ausgeführt wird. Öffnen Sie die Datei mit notepad $PROFILE und fügen Sie Ihre Befehle ein.
Wie kann ich mehrere Befehle gleichzeitig ausführen?
Verwenden Sie das Semikolon (;) als Trennzeichen, um mehrere Befehle in einer Zeile auszuführen: Get-Process; Get-Service. Alternativ nutzen Sie Pipelines (|), um die Ausgabe eines Befehls direkt an den nächsten weiterzugeben.
Was ist der Befehl zum Anzeigen aller laufenden Prozesse?
Der Befehl Get-Process listet alle aktuell laufenden Prozesse auf. Zudem können Sie mit Get-Process -Name chrome gezielt nach einem bestimmten Prozess suchen oder mit Get-Process | Sort-Object CPU -Descending die prozessorintensivsten Anwendungen anzeigen.
Wie lösche ich Dateien mit PowerShell dauerhaft?
Mit dem Befehl Remove-Item -Path C:\Pfad\datei.txt löschen Sie eine Datei direkt, ohne sie in den Papierkorb zu verschieben. Für Ordner mit Inhalt fügen Sie den Parameter -Recurse hinzu. Testen Sie den Befehl vorher mit -WhatIf, um ungewollte Löschungen zu vermeiden.
Wie exportiere ich PowerShell-Ausgaben in eine Excel-Tabelle oder CSV?
Verwenden Sie den Befehl Export-Csv, um Ergebnisse in eine CSV-Datei zu exportieren, die sich problemlos in Excel öffnen lässt: Get-Process | Export-Csv -Path C:\prozesse.csv -NoTypeInformation. Öffnen Sie die Datei anschließend direkt in Microsoft Excel.
Gibt es eine grafische Oberfläche für die PowerShell?
Ja. Die PowerShell ISE (Integrated Scripting Environment) ist eine grafische Entwicklungsumgebung, die bereits in Windows 10 und Windows 11 integriert ist. Für professionellere Anforderungen empfiehlt sich jedoch Visual Studio Code mit der offiziellen PowerShell-Erweiterung von Microsoft, da die ISE seit 2019 offiziell nicht mehr weiterentwickelt wird.
Fazit
Die PowerShell ist ein unverzichtbares Werkzeug für jeden Windows-Nutzer, der sein System effizienter verwalten und automatisieren möchte. Mit den richtigen Befehlen lassen sich in Windows 10 und Windows 11 Dutzende von Aufgaben schneller erledigen als über die grafische Oberfläche.
Starten Sie am besten mit den grundlegenden Cmdlets, experimentieren Sie mit Pipelines und nutzen Sie -WhatIf, um sicher zu bleiben. Steigen Sie zudem auf PowerShell 7 um, wenn Sie plattformübergreifend oder in professionellen Umgebungen arbeiten.
