PowerShell: Was ist das? Einfach erklärt für Einsteiger

PowerShell: Erfahren Sie, was hinter dieser Skriptsprache steckt – einfach erklärt für Einsteiger. Nutzen Sie PowerShell unter Windows, macOS und Linux.

PowerShell: Was ist das? Einfach erklärt für Einsteiger

PowerShell ist eine leistungsstarke Befehlszeilenumgebung und Skriptsprache von Microsoft, die weit mehr kann als die klassische Eingabeaufforderung. Sie automatisiert Aufgaben, verwaltet Systeme und spart täglich wertvolle Zeit. Ursprünglich nur für Windows entwickelt, läuft PowerShell heute ebenso auf Linux und macOS.

Dieser Artikel erklärt Ihnen verständlich, was PowerShell ist, wie Sie damit starten und warum es sich lohnt, es zu lernen.

Was ist PowerShell genau?

PowerShell ist gleichzeitig eine interaktive Shell und eine Skriptsprache, die Microsoft im Jahr 2006 erstmals veröffentlicht hat. Während die klassische Eingabeaufforderung (cmd.exe) nur einfache Textbefehle kennt, arbeitet PowerShell mit sogenannten Objekten. Das bedeutet: PowerShell gibt Ihnen keine bloßen Textzeilen zurück, sondern strukturierte Daten, mit denen Sie direkt weiterarbeiten können.

Außerdem ist PowerShell auf dem .NET-Framework aufgebaut, was ihr eine enorme Leistungsfähigkeit verleiht. Deshalb ist sie bei Systemadministratoren, Entwicklern und IT-Profis weltweit so beliebt. Seit 2016 gibt es mit PowerShell Core (ab Version 7 einfach „PowerShell“ genannt) eine vollständig quelloffene und plattformübergreifende Version, die Sie kostenlos unter Windows, Linux und macOS einsetzen können.

Die zwei Varianten im Überblick

Es ist wichtig, zwischen zwei Versionen zu unterscheiden:

  • Windows PowerShell (Version 1–5.1): Diese Version ist fest in Windows integriert und läuft ausschließlich auf Windows-Systemen. Sie basiert auf dem .NET Framework und wird von Microsoft nicht mehr aktiv weiterentwickelt, jedoch weiterhin gepflegt.
  • PowerShell 7+ (PowerShell Core): Diese moderne, plattformübergreifende Version basiert auf .NET Core bzw. .NET 8/9 und läuft sowohl auf Windows 10/11, Windows Server, Ubuntu, Debian, Fedora, macOS Monterey, macOS Ventura und weiteren Systemen. Sie ist die empfohlene Variante für alle Neueinsteiger.

Zudem ist PowerShell 7 vollständig quelloffen – der Quellcode liegt auf GitHub und kann von jedem eingesehen und verbessert werden.

Wofür wird PowerShell verwendet?

PowerShell wird in sehr vielen Bereichen der IT eingesetzt. Jedoch ist es kein Werkzeug, das nur Experten vorbehalten ist. Auch Einsteiger profitieren schnell davon, wenn sie die Grundlagen verstehen.

Systemverwaltung und Automatisierung

Der wichtigste Einsatzbereich ist die Automatisierung von Systemaufgaben. Statt eine Aufgabe hundertmal manuell zu wiederholen, schreiben Sie einmal ein Skript, und PowerShell erledigt die Arbeit für Sie. Zum Beispiel können Sie damit:

  • Benutzerkonten in Active Directory automatisch anlegen oder löschen
  • Dateien und Ordner in großen Mengen umbenennen, verschieben oder löschen
  • Systemdienste starten, stoppen oder überwachen
  • Softwarepakete auf mehreren Computern gleichzeitig installieren
  • Sicherheitsupdates automatisiert einspielen
  • Ereignisprotokolle (Event Logs) auswerten und überwachen

Cloud und DevOps

Ebenso spielt PowerShell eine zentrale Rolle in modernen Cloud-Umgebungen. Mit dem Azure PowerShell-Modul verwalten Sie komplette Microsoft-Azure-Infrastrukturen per Skript. Zusätzlich gibt es das AWS Tools for PowerShell-Modul für Amazon Web Services sowie Google Cloud PowerShell-Unterstützung. Deshalb ist PowerShell heute ein unverzichtbares Werkzeug in DevOps-Pipelines und CI/CD-Prozessen.

Netzwerkadministration

Außerdem ermöglicht PowerShell die vollständige Netzwerkverwaltung. Sie können damit IP-Adressen konfigurieren, DNS-Einträge prüfen, Netzwerkverbindungen testen und Firewall-Regeln setzen – alles ohne grafische Oberfläche.

Dateiverarbeitung und Berichte

Zudem eignet sich PowerShell hervorragend dazu, große Mengen an Dateien zu verarbeiten. Sie lesen CSV-, JSON- und XML-Dateien ein, filtern Daten und exportieren Ergebnisse. Deshalb nutzen viele Administratoren PowerShell, um automatisierte Berichte zu erstellen und direkt per E-Mail zu versenden.

Wie funktioniert PowerShell? Die Grundlagen einfach erklärt

Um PowerShell zu verstehen, müssen Sie einige grundlegende Konzepte kennen. Jedoch sind diese Konzepte schnell gelernt und logisch aufgebaut.

Cmdlets – die Bausteine von PowerShell

Der wichtigste Begriff in PowerShell ist das Cmdlet (ausgesprochen: „Command-let“). Cmdlets sind speziell entwickelte Befehle, die immer einem einheitlichen Schema folgen: Verb-Substantiv. Zum Beispiel:

  • Get-Process – Zeigt laufende Prozesse an
  • Stop-Service – Stoppt einen Systemdienst
  • New-Item – Erstellt eine neue Datei oder einen Ordner
  • Remove-Item – Löscht eine Datei oder einen Ordner
  • Set-Location – Wechselt das Verzeichnis (entspricht cd)
  • Get-Content – Liest den Inhalt einer Datei
  • Write-Output – Gibt Text aus
  • Copy-Item – Kopiert Dateien oder Verzeichnisse

Dieses einheitliche Schema macht PowerShell besonders einsteigerfreundlich, denn die Befehle sind intuitiv lesbar.

Die Pipeline – Befehle miteinander verbinden

Ein weiteres Kernkonzept ist die Pipeline (Symbol: |). Damit übergeben Sie die Ausgabe eines Cmdlets direkt an das nächste. Da PowerShell mit Objekten arbeitet, gehen dabei keine Informationen verloren. Zum Beispiel:

Get-Process | Where-Object { $_.CPU -gt 10 } | Sort-Object CPU -Descending

Dieser Befehl listet alle Prozesse auf, filtert jene mit mehr als 10 Sekunden CPU-Zeit und sortiert sie absteigend. Ebenso können Sie Ergebnisse direkt in eine Datei exportieren:

Get-Process | Export-Csv -Path "C:\prozesse.csv" -NoTypeInformation

Variablen in PowerShell

Variablen speichern Werte und beginnen in PowerShell immer mit einem Dollarzeichen ($). Zum Beispiel:

$name = "Max Mustermann"
$zahl = 42
Write-Output "Hallo, $name! Die Antwort ist $zahl."

Außerdem erkennt PowerShell den Datentyp automatisch – Sie müssen ihn in den meisten Fällen nicht manuell angeben.

Skripte schreiben und ausführen

PowerShell-Skripte werden als Textdateien mit der Endung .ps1 gespeichert. Jedoch dürfen Sie Skripte auf einem frischen Windows-System nicht einfach ausführen, da die Ausführungsrichtlinie (Execution Policy) dies standardmäßig verhindert. Deshalb müssen Sie diese Richtlinie zunächst anpassen. Die empfohlene Vorgehensweise für Einsteiger lautet:

  1. Öffnen Sie PowerShell als Administrator
  2. Führen Sie diesen Befehl aus:
   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Bestätigen Sie mit J (Ja)

Danach können Sie eigene Skripte ausführen, während heruntergeladene Skripte weiterhin eine digitale Signatur benötigen.

PowerShell installieren und starten

Je nach Betriebssystem unterscheidet sich die Installation leicht. Jedoch ist der Prozess auf allen Plattformen schnell abgeschlossen.

PowerShell unter Windows starten

Auf Windows 10 und Windows 11 ist Windows PowerShell 5.1 bereits vorinstalliert. Sie starten sie so:

  1. Drücken Sie Windows + X
  2. Wählen Sie „Windows PowerShell“ oder „Terminal“

Für die moderne PowerShell 7 empfiehlt sich die Installation über den Microsoft Store oder via winget:

winget install --id Microsoft.PowerShell -e

Zusätzlich steht PowerShell 7 auf der offiziellen Microsoft-GitHub-Seite (github.com/PowerShell/PowerShell) als Installationsdatei zum Download bereit.

PowerShell unter macOS installieren

Auf macOS installieren Sie PowerShell 7 am einfachsten über Homebrew:

brew install --cask powershell

Danach starten Sie PowerShell im Terminal mit dem Befehl pwsh. Außerdem steht ein PKG-Installationspaket auf der GitHub-Seite bereit, das Sie wie jede andere macOS-Anwendung installieren.

PowerShell unter Linux installieren

Auf Ubuntu und Debian installieren Sie PowerShell 7 über APT:

sudo apt-get update
sudo apt-get install -y powershell

Auf Fedora und RHEL-basierten Systemen nutzen Sie stattdessen:

sudo dnf install powershell

Ebenso ist PowerShell für Alpine Linux, Arch Linux und weitere Distributionen verfügbar. Nach der Installation starten Sie PowerShell auf Linux mit dem Befehl pwsh.

Die besten Editoren für PowerShell

Zwar können Sie PowerShell-Skripte in jedem Texteditor schreiben, jedoch empfiehlt sich ein Editor mit Syntaxhervorhebung und Autovervollständigung.

Visual Studio Code (empfohlen)

Die empfohlene Vorgehensweise ist die Nutzung von Visual Studio Code (kurz: VS Code) zusammen mit der offiziellen PowerShell-Erweiterung. So richten Sie die Umgebung ein:

  1. Laden Sie VS Code unter code.visualstudio.com herunter und installieren Sie es
  2. Öffnen Sie VS Code und klicken Sie links auf das Erweiterungssymbol (vier Quadrate)
  3. Suchen Sie nach „PowerShell“ (Herausgeber: Microsoft)
  4. Klicken Sie auf „Installieren“

VS Code bietet Ihnen dann IntelliSense (automatische Vervollständigung), einen integrierten Debugger, Syntaxhervorhebung und ein integriertes Terminal. Deshalb ist VS Code das Standardwerkzeug für PowerShell-Entwicklung in 2026.

Windows PowerShell ISE

Die Integrated Scripting Environment (ISE) ist ein älterer Editor, der auf Windows vorinstalliert ist. Jedoch unterstützt die ISE nur Windows PowerShell 5.1 und nicht PowerShell 7. Deshalb empfiehlt Microsoft selbst inzwischen den Wechsel zu VS Code.

Module und die PowerShell Gallery

Eine der größten Stärken von PowerShell ist das Modulsystem. Module sind Sammlungen von Cmdlets, Funktionen und Skripten, die Sie zu PowerShell hinzufügen können. Dadurch erweitern Sie den Funktionsumfang von PowerShell erheblich.

Module installieren mit PowerShellGet

Die empfohlene Vorgehensweise für die Modulinstallation ist die Nutzung von PowerShellGet und der PowerShell Gallery (powershellgallery.com). Dabei handelt es sich um das offizielle Repository für PowerShell-Module. Ein Beispiel:

Install-Module -Name PSReadLine -Scope CurrentUser

Außerdem können Sie bereits installierte Module aktualisieren:

Update-Module -Name PSReadLine

Wichtige Module für Einsteiger

Zusätzlich zu den eingebauten Cmdlets sind folgende Module besonders nützlich:

  • PSReadLine – Verbessert die Befehlszeileneingabe mit Syntaxhervorhebung und Autovervollständigung
  • Az – Verwaltet Microsoft Azure-Ressourcen
  • ImportExcel – Liest und schreibt Excel-Dateien ohne installiertes Excel
  • Pester – Framework für automatisierte Tests von PowerShell-Skripten
  • PSWindowsUpdate – Verwaltet Windows-Updates per Skript
  • dbatools – Umfangreiche Werkzeuge für die SQL-Server-Verwaltung

Hilfreich von Anfang an: Das Help-System

PowerShell verfügt über ein umfangreiches eingebautes Hilfesystem. Deshalb müssen Sie nicht immer im Internet suchen. Die empfohlene Vorgehensweise ist, zuerst das Hilfesystem zu aktualisieren:

Update-Help

Danach rufen Sie die Hilfe zu einem beliebigen Cmdlet so auf:

Get-Help Get-Process -Full

Zusätzlich zeigt Ihnen Get-Help Get-Process -Examples konkrete Verwendungsbeispiele. Ebenso nützlich ist der Parameter -Online, der die Dokumentation direkt im Browser öffnet.

Fehlerbehandlung und Debugging

Auch Einsteiger sollten frühzeitig lernen, mit Fehlermeldungen umzugehen. Jedoch klingen PowerShell-Fehlermeldungen anfangs einschüchternd – sind es aber nicht.

Try-Catch für Fehlerbehandlung

Die empfohlene Vorgehensweise für robuste Skripte ist die Try-Catch-Struktur:

try {
    Get-Item -Path "C:\nicht-vorhanden.txt" -ErrorAction Stop
}
catch {
    Write-Output "Fehler: $($_.Exception.Message)"
}

Außerdem hilft der Parameter -ErrorAction Stop dabei, Fehler überhaupt erst abzufangen, da PowerShell viele Fehler standardmäßig nur als Warnung anzeigt.

Debugging mit VS Code

Ebenso bietet VS Code einen vollständigen Debugger für PowerShell-Skripte. Sie setzen Haltepunkte (Breakpoints), führen den Code Schritt für Schritt aus und sehen den aktuellen Wert jeder Variable. Deshalb ist VS Code für die Skriptentwicklung deutlich komfortabler als das bloße Terminal.

Sicherheit in PowerShell

Da PowerShell sehr mächtig ist, ist Sicherheit ein wichtiges Thema. Deshalb sollten Sie einige grundlegende Regeln kennen.

Ausführungsrichtlinien verstehen

Windows schützt Sie durch Ausführungsrichtlinien (Execution Policies) davor, unbekannte Skripte versehentlich auszuführen. Die wichtigsten Richtlinien sind:

  • Restricted – Keine Skripte erlaubt (Standard auf Windows-Clients)
  • RemoteSigned – Eigene Skripte erlaubt; heruntergeladene benötigen eine Signatur (empfohlene Vorgehensweise)
  • Unrestricted – Alle Skripte erlaubt (nicht empfohlen)
  • AllSigned – Alle Skripte müssen signiert sein

Vorsicht bei fremden Skripten

Zudem sollten Sie Skripte aus dem Internet grundsätzlich vor der Ausführung lesen und verstehen. Außerdem empfiehlt es sich, PowerShell-Skripte nie leichtfertig mit Administratorrechten auszuführen, wenn Sie deren Inhalt nicht kennen.

PowerShell vs. CMD vs. Bash – Was ist der Unterschied?

Viele Einsteiger fragen sich, wann sie welche Shell verwenden sollen. Deshalb lohnt sich ein kurzer Vergleich:

MerkmalCMD (cmd.exe)PowerShellBash (Linux/macOS)
PlattformNur WindowsWindows, Linux, macOSLinux, macOS, WSL
ObjekteNur TextVollständige .NET-ObjekteNur Text
SkriptspracheBatch (.bat)PowerShell (.ps1)Shell Script (.sh)
ModernitätVeraltetAktiv entwickeltAktiv entwickelt
EinsatzgebietEinfache TasksSystemverwaltung, AutomationServeradministration, DevOps

Außerdem können Sie PowerShell und Bash auf Linux-Systemen nebeneinander nutzen. Deshalb müssen Sie sich nicht zwischen beiden entscheiden – Sie wählen je nach Aufgabe das passende Werkzeug.

Praktische Beispiele für den Einstieg

Die folgenden Beispiele zeigen Ihnen, was PowerShell in der Praxis leisten kann. Ebenso helfen Ihnen diese Beispiele dabei, die gelernten Konzepte direkt anzuwenden.

Alle Dateien eines Ordners auflisten und nach Größe sortieren

Get-ChildItem -Path "C:\Benutzer\Dokumente" | Sort-Object Length -Descending | Select-Object Name, Length

Alle laufenden Prozesse mit hohem CPU-Verbrauch anzeigen

Get-Process | Where-Object { $_.CPU -gt 60 } | Sort-Object CPU -Descending | Format-Table Name, CPU, Id

Einen Ordner mit Datum erstellen

$datum = Get-Date -Format "yyyy-MM-dd"
New-Item -ItemType Directory -Path "C:\Backup\$datum"

Alle Textdateien in einem Ordner nach einem Begriff durchsuchen

Get-ChildItem -Path "C:\Logs" -Filter "*.log" | Select-String -Pattern "Fehler"

Systeminfo ausgeben

Get-ComputerInfo | Select-Object CsName, OsName, OsVersion, CsProcessors, CsTotalPhysicalMemory

Wo lernen Sie PowerShell am besten?

Zum Glück gibt es 2026 viele ausgezeichnete Lernressourcen, sowohl kostenlos als auch kostenpflichtig.

Offizielle Microsoft-Dokumentation

Die empfohlene Vorgehensweise für den Einstieg ist die offizielle Microsoft Learn Plattform (learn.microsoft.com). Dort finden Sie strukturierte, kostenlose Lernpfade speziell für PowerShell – von den Grundlagen bis zu fortgeschrittenen Themen. Außerdem sind die Inhalte auf Deutsch verfügbar.

Weitere Lernwege

Zusätzlich empfehlen sich folgende Ressourcen:

  • „Learn Windows PowerShell in a Month of Lunches“ von Don Jones und Jeffrey Hicks – das bekannteste Einsteigerbuch weltweit
  • Pluralsight und LinkedIn Learning bieten strukturierte Videokurse mit praktischen Übungen
  • YouTube – Der Kanal „PowerShell.org“ sowie „John Savill’s Technical Training“ bieten hochwertige kostenlose Inhalte
  • PowerShell.org – Community-Forum mit Fragen, Antworten und Skriptbeispielen

Häufige Fragen zu PowerShell für Einsteiger

Ist PowerShell kostenlos?

Ja, PowerShell ist vollständig kostenlos. Die moderne Version PowerShell 7 ist zudem quelloffen (Open Source) und steht auf GitHub für alle Plattformen zur Verfügung. Auch Windows PowerShell 5.1 ist in Windows enthalten und verursacht keine zusätzlichen Kosten.

Für wen ist PowerShell geeignet?

PowerShell ist grundsätzlich für jeden geeignet, der regelmäßig mit Computern arbeitet und wiederkehrende Aufgaben automatisieren möchte. Besonders profitieren jedoch Systemadministratoren, IT-Supporter, Entwickler und DevOps-Engineers. Jedoch erfordert PowerShell anfangs etwas Einarbeitungszeit – die Lernkurve ist jedoch flacher als bei vielen klassischen Programmiersprachen.

Was ist der Unterschied zwischen PowerShell und der Eingabeaufforderung (CMD)?

Die Eingabeaufforderung (CMD) ist das ältere, textbasierte System von Windows, das nur einfache Befehle kennt. PowerShell hingegen arbeitet mit Objekten, ist deutlich mächtiger, unterstützt moderne Skriptsprache und läuft plattformübergreifend. Deshalb ist CMD heute in den meisten Fällen durch PowerShell ersetzt worden.

Kann ich PowerShell auch auf einem Mac oder Linux verwenden?

Ja. Seit PowerShell 7 läuft PowerShell vollständig plattformübergreifend auf macOS und Linux. Installation und Funktionsumfang sind auf allen Plattformen weitgehend identisch. Außerdem lässt sich PowerShell unter Linux problemlos neben Bash betreiben.

Ist PowerShell eine vollwertige Programmiersprache?

PowerShell ist eine Skriptsprache, die viele Merkmale einer vollwertigen Programmiersprache besitzt: Variablen, Schleifen, Bedingungen, Funktionen, Objekte und Fehlerbehandlung. Jedoch ist sie nicht als universelle Anwendungsentwicklungssprache gedacht – dafür empfiehlt sich eher C# oder Python. Für Automatisierungsaufgaben und Systemverwaltung ist PowerShell hingegen kaum zu übertreffen.

Wie sicher ist PowerShell?

PowerShell ist so sicher oder unsicher wie jedes andere mächtige Werkzeug. Microsoft hat jedoch zahlreiche Sicherheitsmechanismen eingebaut: Ausführungsrichtlinien, Skriptsignierung, Constrained Language Mode und umfangreiches Logging (Script Block Logging, Transcript Logging). Zusätzlich schützt Windows Defender PowerShell vor bekannten Angriffsmethoden. Deshalb gilt: Mit den richtigen Einstellungen ist PowerShell ein sicheres Administrationswerkzeug.

Welche Version von PowerShell sollte ich verwenden?

Die empfohlene Vorgehensweise ist die Nutzung von PowerShell 7 (die aktuellste stabile Version). Diese Version wird aktiv weiterentwickelt, läuft plattformübergreifend und bietet deutlich mehr Funktionen als Windows PowerShell 5.1. Lediglich wenn bestimmte alte Module oder Windows-spezifische Funktionen benötigt werden, bleibt Windows PowerShell 5.1 relevant.

Was sind PowerShell-Module und brauche ich sie?

Module sind Erweiterungspakete, die den Funktionsumfang von PowerShell erhöhen. Sie werden aus der PowerShell Gallery installiert und mit Install-Module eingerichtet. Anfangs kommen Sie ohne zusätzliche Module gut aus – jedoch werden Sie mit wachsender Erfahrung schnell auf spezialisierte Module zurückgreifen wollen, zum Beispiel Az für Azure oder dbatools für SQL Server.

Kann PowerShell Windows komplett steuern?

Nahezu ja. Sie können Windows-Einstellungen, Benutzerkonten, Netzwerk, Dienste, Drucker, Gruppenrichtlinien, Registry, Zertifikate, Firewall und vieles mehr vollständig per PowerShell verwalten. Ebenso lassen sich COM-Objekte und die Windows Management Instrumentation (WMI/CIM) ansprechen, wodurch noch tiefer in das Betriebssystem eingegriffen werden kann.

Wo finde ich fertige PowerShell-Skripte?

Fertige Skripte finden Sie auf der PowerShell Gallery (powershellgallery.com), auf GitHub sowie in der Microsoft TechNet Script Center Gallery. Außerdem bietet die PowerShell.org-Community zahlreiche geprüfte Beispiele. Jedoch sollten Sie fremde Skripte immer vor der Ausführung sorgfältig lesen und verstehen.

Fazit

PowerShell ist ein unverzichtbares Werkzeug für alle, die Computersysteme effizient verwalten und Aufgaben automatisieren möchten. Einstieg und erste Schritte gelingen schnell – besonders mit VS Code und der offiziellen Microsoft-Dokumentation.

Deshalb lohnt sich der Einstieg: Wer PowerShell einmal beherrscht, spart täglich Zeit und öffnet sich neue Möglichkeiten in der IT-Verwaltung, Cloud-Automatisierung und modernen DevOps-Arbeit – auf Windows, macOS und Linux gleichermaßen.