PowerShell hat die Art und Weise revolutioniert, wie Windows-Benutzer mit ihren Betriebssystemen interagieren, indem es komplexe Verwaltungsaufgaben in einfache, automatisierte Prozesse umwandelt12. Whether you’re a system administrator, IT professional, or an everyday Windows user looking to boost productivity, mastering essential PowerShell commands can save you countless hours and unlock powerful automation capabilities34.
This comprehensive guide covers the most important PowerShell commands that every Windows user should master, from basic navigation to advanced system management. By the end of this tutorial, you’ll have the confidence to leverage PowerShell’s powerful features for daily computing tasks.
Inhaltsübersicht
- Was ist PowerShell und warum sollten Sie sich dafür interessieren?
- Erste Schritte: PowerShell öffnen
- Wesentliche Discovery-Befehle: Ihr PowerShell-Kompass
- Befehle zur Verwaltung von Dateien und Ordnern
- Systeminformationen und Prozessmanagement
- Befehle zur Fehlersuche im Netzwerk
- Befehle für Inhalt und Datenmanipulation
- Arbeiten mit PowerShell-Pipelines
- Zeit- und Datumsverwaltung
- Wesentliche PowerShell-Best Practices
- Erstellen Ihres ersten PowerShell-Skripts
- Fortgeschrittener PowerShell-Lernpfad
- Fehlerbehebung bei häufigen PowerShell-Problemen
- Schlussfolgerung: Erweitern Sie Ihr Windows-Erlebnis
Was ist PowerShell und warum sollten Sie sich dafür interessieren?
PowerShell ist eine leistungsstarke Befehlszeilen-Shell und Skripting-Umgebung das auf allen modernen Windows-Betriebssystemen vorinstalliert ist2. Unlike the traditional Command Prompt, PowerShell uses a Verb-Nomen-Syntaxstruktur die Befehle intuitiv und für Menschen lesbar macht1. For example, Get-Process
ruft laufende Prozesse ab, während Stop-Dienst
stoppt die Systemdienste.
Hauptvorteile von PowerShell gegenüber der Eingabeaufforderung
PowerShell bietet erhebliche Vorteile gegenüber der herkömmlichen Befehlszeilenschnittstelle1:
- Objektbasierte Ausgabe: Anstelle von einfachem Text arbeitet PowerShell mit strukturierten Objekten, die Eigenschaften und Methoden enthalten
- Erweiterte Skripting-Fähigkeiten: Erstellung komplexer Automatisierungsskripte mit Schleifen, Bedingungen und Funktionen
- Erweiterbar durch Module: Hinzufügen von Funktionen durch .NET-Bibliotheken und benutzerdefinierte Cmdlets
- Unterstützung von Pipelines: Verketten Sie Befehle, um Daten effizient zu verarbeiten
- Plattformübergreifende Kompatibilität: Ausführen von PowerShell unter Windows, Linux und macOS
Erste Schritte: PowerShell öffnen
Bevor Sie sich mit den Befehlen befassen, müssen Sie wissen, wie Sie auf PowerShell zugreifen können25. On Windows 11, the easiest method is:
- Type “PowerShell” in der Windows-Suchleiste
- Klicken Sie mit der rechten Maustaste auf . on “Windows PowerShell”
- Select “Run as administrator” für erhöhte Privilegien
Für die meisten administrativen Aufgaben stellt die Ausführung von PowerShell als Administrator sicher, dass Sie über die erforderlichen Berechtigungen zum Ausführen von Befehlen auf Systemebene verfügen.
Wesentliche Discovery-Befehle: Ihr PowerShell-Kompass
1. Hilfe holen: Ihr integriertes Handbuch
Die Get-Help
Befehl ist wohl der Wichtigster PowerShell-Befehl you’ll ever learn467. It provides comprehensive documentation for any cmdlet, function, or concept within PowerShell.
Grundlegende Syntax:
powershellGet-Help
Praktische Beispiele:
powershell# Grundlegende Hilfe für einen Befehl erhalten
Get-Help Get-Process
# Ausführliche Hilfe mit Beispielen erhalten
Get-Help Get-Process -Full
# Nur Beispiele anzeigen
Get-Help Get-Process -Beispiele
# Online-Hilfe-Dokumentation öffnen
Get-Help Get-Process -Online
Profi-Tipp: Verwenden Sie Update-Hilfe
regelmäßig, um sicherzustellen, dass Sie über die neueste Hilfedokumentation verfügen6.
2. Get-Befehl: Verfügbare Befehle entdecken
When you don’t know which command to use, Get-Befehl
hilft Ihnen Finden Sie das richtige Cmdlet für Ihre Aufgabe486.
Nützliche Muster:
powershell# Alle verfügbaren Befehle auflisten
Get-Command
# Befehle suchen, die mit "Get" beginnen
Get-Befehl Get-*
# Befehle suchen, die "Process" enthalten
Get-Befehl *Prozess*
# Befehle für bestimmte Aktionen finden
Get-Befehl Start-*
Get-Befehl Stop-*
This approach is particularly helpful when you know what action you want to perform but aren’t sure of the exact command name.
3. Get-Member: Verstehen von Objekteigenschaften
PowerShell arbeitet mit Objekten, und Get-Member
zeigt Ihnen welche Eigenschaften und Methoden sind für jedes Objekt verfügbar6.
powershell# Siehe Eigenschaften von Prozessobjekten
Get-Process | Get-Member
# Eigenschaften von Dienstobjekten anzeigen
Get-Service | Get-Member
Befehle zur Verwaltung von Dateien und Ordnern
4. Get-ChildItem: Verzeichnisinhalt auflisten
Get-ChildItem
is PowerShell’s equivalent to the dir
Befehl, aber mit viel mehr Funktionalität1910.
Allgemeine Verwendung:
powershell# Aktuelle Verzeichnisinhalte auflisten
Get-ChildItem
# Liste mit versteckten Dateien
Get-ChildItem -Force
# Rekursive Auflistung (einschließlich Unterverzeichnisse)
Get-ChildItem -Recurse
# Filter nach Dateityp
Get-ChildItem *.txt
# Suche nach Dateien in Unterverzeichnissen
Get-ChildItem -Path C:\Users -Include *.pdf -Recurse
Aliasnamen: Sie können auch Folgendes verwenden ls
, dir
, oder gci
als Abkürzungen10.
5. Standort festlegen: Verzeichnisse durchsuchen
Navigieren Sie effizient durch Ihr Dateisystem mit Standort festlegen
10.
powershell# Wechsel in ein bestimmtes Verzeichnis
Set-Location C:\Users\Documents
# Zum übergeordneten Verzeichnis wechseln
Set-Location ..
# Zum vorherigen Speicherort zurückkehren
Set-Location -
# Navigieren mit Aliasen
cd C:\Windows
sl C:\Temp
6. Artikel kopieren: Kopieren von Dateien und Ordnern
Die Artikel kopieren
Cmdlet bietet leistungsstarke Funktionen zum Kopieren von Dateien910.
powershell# Kopieren einer einzelnen Datei
Copy-Item "Quelle.txt" "Ziel.txt"
# Kopieren mit Überschreibschutz
Copy-Item "quelle.txt" "backup.txt" -Force
# Kopieren ganzer Verzeichnisse
Copy-Item "C:\Source" "C:\Backup" -Recurse
# Kopieren mehrerer Dateien mit Platzhaltern
Copy-Item "*.log" "C:\Logs\"
7. Element verschieben: Dateien verschieben und umbenennen
Verwenden Sie Artikel verschieben
für Verschieben und Umbenennen Dateien und Verzeichnisse1112.
powershell# Verschieben einer Datei an einen anderen Ort
Move-Item "oldfile.txt" "C:\NewLocation\"
# Umbenennen einer Datei
Move-Item "alterName.txt" "neuerName.txt"
# Verschieben aller Dateien eines bestimmten Typs
Get-ChildItem *.txt | Move-Item -Destination "C:\TextFiles\"
8. Element entfernen: Löschen von Dateien und Ordnern
Sicheres Löschen von Dateien und Verzeichnissen mit Entfernen-Element
10.
powershell# Löschen einer einzelnen Datei
Remove-Item "unerwünscht.txt"
# Löschen mit Bestätigung
Remove-Item "wichtig.txt" -Bestätigung
# Verzeichnisse rekursiv löschen
Remove-Item "C:\TempFolder" -Recurse -Force
# Dateien nach Muster löschen
Remove-Item "*.tmp"
Warnung: Seien Sie äußerst vorsichtig mit Entfernen-Element
insbesondere bei der Verwendung von -Rückzahlung
und -Force
Parameter, da gelöschte Dateien möglicherweise nicht wiederhergestellt werden können.
9. Neuer Eintrag: Dateien und Verzeichnisse erstellen
Erstellen Sie schnell neue Dateien und Ordner mit Neuer Artikel
1013.
powershell# Erstellen eines neuen Verzeichnisses
New-Item -Name "NewFolder" -ItemType Directory
# Eine neue Datei erstellen
New-Item -Name "newfile.txt" -ItemType Datei
# Datei mit Inhalt erstellen
New-Item "readme.txt" -ItemType File -Value "Dies ist der anfängliche Inhalt"
# Verschachtelte Verzeichnisse erstellen
New-Item "C:\Projects\NewProject\Source" -ItemType Directory -Force
Systeminformationen und Prozessmanagement
10. Get-Prozess: Laufende Prozesse überwachen
Get-Process
bietet detaillierte Informationen über laufende Prozesse in Ihrem System34.
powershell# Alle laufenden Prozesse auflisten
Get-Process
# Bestimmten Prozess nach Namen abrufen
Get-Process notepad
# Prozesse mit Platzhalter abrufen
Get-Prozess note*
# Prozesse nach CPU-Auslastung sortieren
Get-Process | Sort-Object CPU -Descending
# Ermitteln der 10 speicherintensivsten Prozesse
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10
11. Prozess anhalten: Beenden von Prozessen
Nicht reagierende oder unnötige Prozesse stoppen mit Stop-Verfahren
4.
powershell# Prozess nach Name anhalten
Stop-Process -Name "notepad"
# Prozess nach ID stoppen
Stop-Process -Id 1234
# Anhalten mit Bestätigung
Stop-Process -Name "chrome" -Confirm
# Stoppen hartnäckiger Prozesse erzwingen
Stop-Process -Name "application" -Force
12. Dienst holen: Verwalten von Windows-Diensten
Überwachen und Verwalten Windows-Dienste die im Hintergrund laufen41415.
powershell# Alle Dienste auflisten
Get-Service
# Dienste nach Status abrufen
Get-Service | Where-Object Status -eq "Running"
# Bestimmten Dienst abrufen
Get-Service -Name "Spooler"
# Get-Dienste, die mit bestimmten Buchstaben beginnen
Get-Service -Name "Win*"
13. Start-Dienst und Stop-Dienst: Dienste steuern
Windows-Dienste starten und beenden nach Bedarf1415.
powershell# Starten eines Dienstes
Start-Service -Name "Spooler"
# Stoppen eines Dienstes
Stop-Dienst -Name "Spooler"
# Neustart eines Dienstes
Restart-Service -Name "Spooler"
# Mehrere Dienste starten
Get-Service -Name "BITS", "Spooler" | Start-Service
Befehle zur Fehlersuche im Netzwerk
14. Test-NetConnection: Testen der Netzwerkkonnektivität
Test-NetConnection
is PowerShell’s enhanced version of ping with additional capabilities1617.
powershell# Basistest der Konnektivität
Test-NetConnection google.com
# Test eines bestimmten Ports
Test-NetConnection google.com -Port 80
# Verfolgen der Route zum Ziel
Test-NetConnection google.com -TraceRoute
# Mehrere Verbindungen testen
"google.com", "microsoft.com" | ForEach-Object { Test-NetConnection $_ }
15. Get-NetIPAddress: IP-Konfiguration anzeigen
Prüfen Sie Ihr Netzwerk-IP-Konfiguration mit Get-NetIPAddress
1617.
powershell# Alle IP-Adressen anzeigen
Get-NetIPAddress
# Nur IPv4-Adressen anzeigen
Get-NetIPAddress -AddressFamily IPv4
# Spezifische Adapterinformationen abrufen
Get-NetIPAddress -InterfaceAlias "Ethernet"
16. Resolve-DnsName: DNS-Auflösungstest
Test der DNS-Auflösung und Domäneninformationen abrufen16.
powershell# Basic DNS lookup
Resolve-DnsName google.com
# Suche nach bestimmten Eintragstypen
Resolve-DnsName google.com -Typ MX
# Bestimmten DNS-Server verwenden
Resolve-DnsName google.com -Server 8.8.8.8
Befehle für Inhalt und Datenmanipulation
17. Get-Content: Dateiinhalt lesen
Lesen und Anzeigen von Dateiinhalten direkt in PowerShell1819.
powershell# Gesamten Dateiinhalt anzeigen
Get-Content "logfile.txt"
# Bestimmte Anzahl von Zeilen lesen
Get-Content "bigfile.txt" -Head 10
# Dateiänderungen überwachen (wie tail -f)
Get-Content "live.log" -Wait
# Letzte Zeilen lesen
Get-Content "recent.log" -Tail 20
18. Out-File: Ausgabe in Dateien exportieren
Befehlsausgabe speichern in Dateien zur späteren Analyse619.
powershell# Prozessliste in Datei speichern
Get-Process | Out-File "processes.txt"
# An bestehende Datei anhängen
Get-Date | Out-File "log.txt" -Append
# Save with specific encoding
Get-Service | Out-File "services.txt" -Encoding UTF8
19. Objekt auswählen: Ausgabe filtern und formatieren
Kontrollieren Sie, welche Informationen wird aus den Befehlsergebnissen angezeigt2021.
powershell# Nur bestimmte Eigenschaften anzeigen
Get-Process | Select-Object Name, CPU, WorkingSet
# Die ersten paar Ergebnisse anzeigen
Get-ChildItem | Select-Object -First 5
# Eindeutige Werte auswählen
Get-Process | Select-Object ProcessName -Unique
Arbeiten mit PowerShell-Pipelines
20. Wo-Objekt: Ergebnisse filtern
Befehlsergebnisse filtern auf der Grundlage bestimmter Kriterien2021.
powershell# Filter laufende Dienste
Get-Service | Where-Object Status -eq "Running"
# Große Dateien filtern
Get-ChildItem | Where-Object Length -gt 1MB
# Komplexe Filterung mit mehreren Bedingungen
Get-Process | Where-Object {$_.CPU -gt 100 -und $_.WorkingSet -gt 50MB}
21. Objekt sortieren: Ergebnisse sortieren
Organisieren der Ausgabe in aufsteigender oder absteigender Reihenfolge21.
powershell# Prozesse nach Namen sortieren
Get-Process | Sort-Object Name
# Sortieren nach mehreren Eigenschaften
Get-ChildItem | Sort-Object LastWriteTime, Name
# Sortieren in absteigender Reihenfolge
Get-Process | Sort-Object CPU -Descending
22. ForEach-Object: Jedes Element verarbeiten
Aktionen für jedes Objekt durchführen in einer Pipeline1921.
powershell# Jede Datei verarbeiten
Get-ChildItem *.txt | ForEach-Object {
Write-Host "Processing: $($_.Name)"
}
# Jedes Objekt modifizieren
Get-Service | ForEach-Object {
"$($_.Name): $($_.Status)"
}
Zeit- und Datumsverwaltung
23. Get-Date: Arbeiten mit Daten und Zeiten
Abrufen und Formatieren aktuelle Datums- und Zeitangaben19.
powershell# Aktuelles Datum und Uhrzeit abfragen
Get-Date
# Datum auf bestimmte Weise formatieren
Get-Date -Format "jjjj-MM-tt HH:mm:ss"
# Get-Date Komponenten
(Get-Date).DayOfWeek
(Hole-Datum).Jahr
# Berechne zukünftige Daten
(Hole-Datum).AddTage(30)
Wesentliche PowerShell-Best Practices
Tabulatorvervollständigung verwenden
PowerShell’s Funktion zur Vervollständigung der Registerkarten beschleunigt die Befehlseingabe drastisch17. Press Tab after typing partial command names, parameters, or file paths to auto-complete them.
Aliase nutzen
PowerShell enthält viele integrierte Aliasnamen für allgemeine Befehle5:
ls
oderdir
fürGet-ChildItem
cd
fürStandort festlegen
Katze
oderTyp
fürGet-Content
rm
oderdel
fürEntfernen-Element
Sicheres Testen von Befehlen
Bevor Sie potentiell zerstörerische Befehle ausführen, verwenden Sie die -Was-wäre-wenn
um zu sehen, was passieren würde, ohne den Befehl tatsächlich auszuführen12:
powershellRemove-Item *.txt -WasWenn
Stop-Dienst Spooler -WasWenn
Ausführungsrichtlinie festlegen
Aus Sicherheitsgründen schränkt PowerShell die Skriptausführung standardmäßig ein22. To run scripts, you may need to modify the execution policy:
powershell# Aktuelle Richtlinie prüfen
Get-ExecutionPolicy
# Richtlinie für den aktuellen Benutzer festlegen
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Erstellen Ihres ersten PowerShell-Skripts
Once you’re comfortable with individual commands, you can sie zu Skripten kombinieren für die Automatisierung2223. Here’s a simple example:
powershell# Speichern als system-info.ps1
Write-Host "System Information Report" -ForegroundColor Green
Write-Host "=========================" -ForegroundColor Green
Write-Host "`nAktuelles Datum und Uhrzeit:" -FregroundColor Gelb
Get-Date
Write-Host "`nTop 5 Prozesse nach CPU:" -FrontgroundColor Gelb
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
Write-Host "`nRunning Services Count:" -ForegroundColor Yellow
(Get-Service | Where-Object Status -eq "Running").Count
Write-Host "`nDisk Usage:" -ForegroundColor Yellow
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, @{Name="Size(GB)";Expression={[math]::Round($_.Size/1GB,2)}}, @{Name="FreeSpace(GB)";Expression={[math]::Round($_.FreeSpace/1GB,2)}}
Fortgeschrittener PowerShell-Lernpfad
Once you’ve mastered these essential commands, consider exploring these advanced topics24:
- Active Directory-Verwaltung mit AD-Cmdlets
- Fernverwaltung von Computern PowerShell-Remoting verwenden
- Automatisierte Aufgabenplanung mit PowerShell-Skripten
- Fehlerbehandlung und Protokollierung in Skripten
- PowerShell-Module und -Funktionen für die Wiederverwendbarkeit von Code
Fehlerbehebung bei häufigen PowerShell-Problemen
Fehler in der Ausführungspolitik
If you encounter “execution of scripts is disabled” errors, check and modify your execution policy22:
powershellGet-ExecutionPolicy -List
Set-ExecutionPolicy RemoteSigned -Geltungsbereich CurrentUser
Fehler bei verweigerter Erlaubnis
Viele administrative Aufgaben erfordern erhöhte Rechte. Führen Sie PowerShell immer als Administrator aus, wenn Sie damit arbeiten:
- Systemdienste
- Änderungen in der Registrierung
- Netzwerk-Konfigurationen
- Verwaltung von Benutzerkonten
Fragen zu Trasse und Standort
When commands can’t find files or directories, verify your current location and use full paths:
powershellGet-Location
Set-Location C:\IhrWunschpfad
Schlussfolgerung: Erweitern Sie Ihr Windows-Erlebnis
Die Beherrschung dieser wichtige PowerShell-Befehle verwandelt Sie von einem passiven Windows-Benutzer in einen aktiven Systemadministrator, der in der Lage ist, komplexe Aufgaben zu automatisieren und Probleme effizient zu lösen13. The Verb-Nomen-Befehlsstruktur macht PowerShell intuitiv erlernbar, während die leistungsstarken Pipeline-Funktionen eine anspruchsvolle Datenverarbeitung und Systemverwaltung ermöglichen24.
Beginnen Sie damit, diese Kommandos in einer sicheren Umgebung zu üben, um allmählich Vertrauen aufzubauen und fortgeschrittenere Szenarien zu erkunden. Denken Sie daran, dass Get-Help
ist immer verfügbar, um detaillierte Informationen über jeden Befehl zu liefern, und die Tabulatorvervollständigung macht die Befehlseingabe schneller und genauer725.
Whether you’re managing files, monitoring system performance, troubleshooting network issues, or automating repetitive tasks, PowerShell provides the tools you need to work more efficiently and effectively with Windows systems17. The investment in learning PowerShell pays dividends in increased productivity and enhanced system administration capabilities that will serve you throughout your computing career.