PowerShell Befehle in Windows 11 und Windows 10 verwenden

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.

PowerShell Befehle: So geht’s in Windows 11 und Windows 10

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.

Mario
Mario

Mario schreibt bei Tippsling.de über Technik, Spiele, DIY und digitale Alltagsthemen. Sein Schwerpunkt liegt auf verständlichen Anleitungen zu Sicherheit, Windows, Apps und praktischen Problemlösungen – ergänzt um Ratgeber zu Gaming- und DIY-Themen.