Startseite IT-Automatisierung Wesentliche PowerShell-Befehle, die jeder Windows-Benutzer kennen sollte: Ein kompletter Leitfaden für Einsteiger

Wesentliche PowerShell-Befehle, die jeder Windows-Benutzer kennen sollte: Ein kompletter Leitfaden für Einsteiger

0
141
Wesentliche Powershell-Befehle
Wesentliche Powershell-Befehle

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.

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. Anders als die herkömmliche Eingabeaufforderung verwendet PowerShell eine Verb-Nomen-Syntaxstruktur die Befehle intuitiv und für Menschen lesbar macht1. Zum Beispiel, 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. Unter Windows 11 ist die einfachste Methode:

  1. Geben Sie "PowerShell" ein. in der Windows-Suchleiste
  2. Klicken Sie mit der rechten Maustaste auf . auf "Windows PowerShell"
  3. Wählen Sie "Als Administrator ausführen". 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. Es bietet umfassende Dokumentation für jedes Cmdlet, jede Funktion und jedes Konzept in 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 lsdir, oder gci als Abkürzungen10.

5. Standort festlegen: Verzeichnisse durchsuchen

Navigieren Sie effizient durch Ihr Dateisystem mit Standort festlegen10.

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-Element10.

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-Elementinsbesondere 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 Artikel1013.

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-Verfahren4.

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-NetIPAddress1617.

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. Drücken Sie die Tabulatortaste, nachdem Sie teilweise Befehlsnamen, Parameter oder Dateipfade eingegeben haben, um sie automatisch zu vervollständigen.

Aliase nutzen

PowerShell enthält viele integrierte Aliasnamen für allgemeine Befehle5:

  • ls oder dir für Get-ChildItem
  • cd für Standort festlegen
  • Katze oder Typ für Get-Content
  • rm oder del für Entfernen-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. Um Skripte auszuführen, müssen Sie möglicherweise die Ausführungsrichtlinie ändern:

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

Wenn Sie die Fehlermeldung erhalten, dass die Ausführung von Skripten deaktiviert ist, überprüfen und ändern Sie Ihre Ausführungsrichtlinie22:

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. Die 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. Die Investition in das Erlernen der PowerShell zahlt sich durch erhöhte Produktivität und verbesserte Systemverwaltungsfähigkeiten aus, die Ihnen während Ihrer gesamten Computerkarriere von Nutzen sein werden.

Keine Kommentare

Eine Antwort hinterlassen

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

de_DEDeutsch