
Das ist das ultimative PowerShell Tutorial. Hier lernst Du alles zu Konsolen-Programmen und Befehlen von PowerShell, CMD und Bash.
In diesem Tutorial geht (fast) alles ohne ein Graphical User Interface.
Ich stelle heute Dir die PowerShell vor!
- 1 Begriffe klären: Konsole, Shell, CMD, PowerShell und mehr
- 2 Ultimative Produktivitäts-Tipps für die PowerShell
- 3 Die 11 Befehle – PowerShell Tutorial
- 3.1 Ich möchte mit der PowerShell …
- 3.2 Hilfe anzeigen lassen für das Power Shell Tutorial
- 3.3 in anderes Verzeichnis / Ordner wechseln
- 3.4 Dateien und Ordner anzeigen lassen
- 3.5 Datei verschieben
- 3.6 Datei löschen
- 3.7 Ordner erstellen
- 3.8 Datei bearbeiten / erstellen
- 3.9 Installationsort eines Programms ausgeben lassen
- 3.10 Datei downloaden
- 3.11 Programm ausführen
- 3.12 Administrator-Rechten Dateien / Ordner ausführen
- 4 PowerShell Programmierung
Begriffe klären: Konsole, Shell, CMD, PowerShell und mehr
- Konsole ist eine Eingabe-Aufforderung oder Prompt (engl. abfragen, auffordern), die nach einer Texteingabe fragt und meistens eine Textausgabe anzeigt.
- Bash = Shell ist ein Unix Projekt unter GPL und eine Konsole für Linux und UNIX-Systeme ist. Diese hat Brian Fox entwickelt.
- Windows CMD.exe nennt sich die Windows-Eingabeaufforderung von Windows NT (New Technology) Line und React-OS (Operating System).
- Windows PowerShell basiert auf Dot-Net seit 2009 und ist eine plattformübergreifende Konsole mit der MIT-Lizenz.
Eine BAT-Datei (engl. Batch – Stapel) ist eine Script mit fertigen Konsolen-Befehlen für Windows. Mit einem Klick auf die Datei führt der Computer die Befehle aus. Kontrollstrukturen wie Schliefen und Variablen sind möglich.
Hinter CMD.exe steht der Kommandozeilen-Interpreter COMMAND.COM, der die Eingaben überprüft. Windows PowerShell arbeitet mit der PowerShell-Engine als Kommandozeilen-Interpreter
PowerShell Bedienung in 5 Schritten
Eine Konsole arbeitet nach dem gleichen Schema:
- Der Nutzer gibt ein Befehl ein
- Der Nutzer startet den Befehl mit ENTER
- Der Computer führt den Befehl aus und gibt Text aus
- Der Computer stellt ein neues Eingabefeld zur Verfügung.
- Gehe zu Schritt 1
PowerShell vs. Graphical User Interface (GUI)
Wann verwende ich eine Kommandozeile? Wann die GUI? Was sind die Vor- und Nachteile der Eingabemöglichkeiten?
Kommandozeile | GUI |
Geringere System-Ressourcen zur Darstellung | Weniger „gegoogle“ nach Kommandozeilen-Befehle und Fehlern (wenn diese gut ist) |
Optionen mit help-Flag schnell auffindbar | Grafische Verbesserungen wie Schriftarten, Drop-Down-Menus |
Vereinfachte Automation und Wiederholungen | Eingewöhnungszeit von GUIs ist im Vergleich zur Kommandozeile gering |
Entwickeln von Prozeduren | Einfache Bedienung (für nicht ITler) gedacht |
Ein GUI verwenden, wenn …
- Du eine Standard-Aufgabe erledigst.
- eine erprobte GUI verfügbar ist.
- Du die Befehle nicht kennst.
- keine Kommandozeile verfügbar hast.
Die Kommandozeile verwenden, wenn…
- Du spezielle Aufgaben erledigen möchtest.
- Du eine Debugging-Möglichkeit brauchst.
- Du erhöhte Bearbeitungsgeschwindigkeit brauchst (Overload durch GUI).
- Die GUI Sche*** ist.
PowerShell erklärt
PowerShell ist ein plattformübergreifendes Framework zur Einstellung, Administration und Automatisierung von z. B. Microsoft Systemen. Zu der PowerShell gehört ein Kommandozeilen-Interpreter und eine Sprache zum Skripten von Kommandos.
PowerShell gehört zu den .NET Framework. .NET ist eine Sammlung von Entwicklerwerkzeugen und Klassen-Bibliotheken, die auf der Common Language Runtime basiert. Seit 2016 ist PowerShell plattformübergreifend (nicht nur auf Windows beschränkt) und Open Source.
Skripten mit PowerShell
Zur Automation brauchst Du ein Skript, welches Du auf der PowerShell ausführen kannst. Die PowerShell hat wie jede Programmiersprache ein paar Besonderheiten. Statt ein Kleiner-als-Zeichen verwendest Du -lt , um einen Vergleich darzustellen.
for($counter=0;$counter -lt 9;$counter++) {
Write-Host „Wiederhole die Schlefe $counter“
}
Anwendungsgebiet PowerShell
Die plattformübergreifende PowerShell ist ultra vielseitig einsetzbar. Konfiguriere mit der PowerShell z. B:
- Windows Server ab 2008
- Active Directory (Verwaltung von mehrern Windows Computern)
- Domain Name System (Auflösung von IP-Nummern in Domain-Adressen)
- Hyper-V (Virtualiserungsumgebung von virtuellen Maschinen)
- ISS Web Service (Microsoft Web Server)
- Konfiguration von Netzwerk, Festplatten, Proxy usw.
Mehr zu den Möglichkeiten mit der PowerShell findest Du untern Linetworks.
Ultimative Produktivitäts-Tipps für die PowerShell
Damit Du schnell und effizient mit PowerShell arbeitest, lerne die folgenden Shortcuts auswendig. Mit Rechtsklick auf den PowerShell Menuleiste passe Du unter > Einstellungen > Optionen, einige Shortcuts nach Deinen Wünschen an.
Shortcut | Bedeutung / Wirkung |
Strg + C (nicht kopieren) | Stoppt den laufenden Vordergrund-Prozess (hart) |
Strg + Z | Anhalten des Vordergrund-Prozesses |
Strg + L | Ein- und Ausgaben leeren |
Pfeil nach oben / unten | Durch alle vorherigen Eingaben blättern |
Tab | Der Shortcuts vervollständigt ein Kommando, Dateiname, Pfad für Dich automatisch |
Typen von Konsolen / Shell / CMD
- Betriebssystem-Konsolen: cmd.exe, DEC Digital Command Language
- Anwendung-Konsolen: Anwendungen auf Konsolen-Basis
- Parameter: Informationen zur Ausführung des Programms, die den Ausführungsverlauf verändern
- Prompts: Nach Ausführung fragt das Programm nach verschieden Parametern
Die 11 Befehle – PowerShell Tutorial
Wenn Du diese 11 Befehle für Bash und CMD aus diesem PowerShell Tutorial kennst, kannst Du 80 % von der tagtäglichen Operation innerhalb der Konsole / CMD / Bash / Shell.
Lese Dir die folgende Tabelle durch und scrolle zu dem betreffenden Abschnitt:
Ich möchte mit der PowerShell …
PowerShell Windows | Bash Linu | |
Hilfe zu einem Befehl anzeigen lassen | help programmname | programmname –h [alternativ –help] |
in anderes Verzeichnis / Ordner wechseln | cd Ordnername[/Ordnername/…] | cd Ordnername[/Ordnername/…] |
Dateien und Ordner anzeigen lassen | dir [/Ordnername/…] | ls [/Ordnername/…] |
Datei verschieben | move altordner\dateiname.end neuordner\ dateiname.end | mv altordner/dateiname.end neuordner/ dateiname.end |
Datei löschen | del Dateiname.end | rm Dateiname.end |
Ordner erstellen | mkdir Ordnername | mkdir Ordnername |
Datei bearbeiten / erstellen | notepad [Dateiname alt/neu] | vi [Dateiname alt/neu] |
Installationsort eines Programms ausgeben lassen | where programmName | where programmName |
Datei downloaden | curl [https://url] –output [file.endung] | curl [https://url] –output [file.endung] |
Programm ausführen | programmName | programmName oder ./programmName |
Administrator-Rechten Dateien / Ordner ausführen | runas /noprofile /user:Administrator cmd | sudo [jeder Befehl außer cd] |
Hilfe anzeigen lassen für das Power Shell Tutorial
Nehmen wir eine für das Tutorial an, Du hast ein tollenSDKKonsolenProgramm. Du kennst die Befehle nicht und eine Dokumentation findest Du im Internet nicht. Mit dem Help-Flag kannst Du Dir alle Befehle vom tollenSDKKonsolenProgramm ausgeben lassen, ohne nach irgendwelchen Beschreibungen zu suchen. Ein Befehl setzt sich aus dem Programmnamen, Parameter und Flags / Optionen zusammen. Die Ausgaben des Help-Flags sollten die Befehle des tollenSDKKonsolenProgramm erklären.
PowerShell Windows | Bash Linux | |
Befehl | help | –h oder -help |
Syntax | help programmname | programmname –h [alternativ –help] |
Beispiel | help | Javac -help |
Tipps | Nur für Windows eigene Programme | Für jedes Linux Konsolen Programm |

Die Programmierer folgen normalerweise diesen Konventionen. Wenn Du aber ein hippiges, neues Programm nutzt, kannst Du kein help-Flag finden. Entweder gibt es keine help-Seite oder die Programmierer „haben einen richtigeren“ Weg gefunden und machen ihr eigenes Ding!
in anderes Verzeichnis / Ordner wechseln
Ein Pfad steht vor dem Eingabefeld in der die Konsole.
Die Konsole kann nur in dem angegebenen Ordner operieren (siehe Pfad). Falls Du ein Programm in einem anderen Ordner ausführen möchtest, dann musst Du das Verzeichnis (change directory) verändern.
PowerShell Windows | Bash Linux | |
Befehl | cd | cd |
Syntax | cd Ordnername[/Ordnername/…] | cd Ordnername[/Ordnername/…] |
Beispiel | cd AMD | cd AMD |
Tipps | Mit Tab kannst Du den Ordnernamen vervollständigen | Mit Tab kannst Du den Ordnernamen vervollständigen |

Dateien und Ordner anzeigen lassen
Die Konsole sagt nicht mehr als den Pfad des Ordners, in dem Du Dich befindest. Der dir- / ls-Befehl gibt Dir alle Dateien, Programmen und Unterordner als Liste aus.
PowerShell Windows | Bash Linux | |
Befehl | dir | ls |
Syntax | dir [/Ordnername/…] | ls [/Ordnername/…] |
Beispiel | dir user | ls user |
Tipps | Mit dir /AH kannst Du Dir versteckte Dateien anzeigen lassen | Mit ls –a kannst Du Dir versteckte Dateien anzeigen lassen |

Datei verschieben
So transferierst Du eine Datei von dem A-Ordner zum B-Ordner.
PowerShell Windows | Bash Linux | |
Befehl | move | mv |
Syntax | move altordner\dateiname.end neuordner\ dateiname.end | mv altordner/dateiname.end neuordner/ dateiname.end |
Beispiel | move c:\users\steff\text.txt C:\users\steff\Downloads | mv c:/users/steff/Downloads/text.txt c:/users/steff/text.txt |
Tipps |

Datei löschen
PowerShell Windows | Bash Linux | |
Befehl | del | rm |
Syntax | del Dateiname.end | rm Dateiname.end |
Beispiel | del text.txt | rm text.txt |
Tipps |

Ordner erstellen
In Windows kannst Du in der grafischen Oberfläche STRG+UMSCHALT+N nutzen, um schnell neue Ordner zu erstellen.
PowerShell Windows | Bash Linux | |
Befehl | mkdir | mkdir |
Syntax | mkdir Ordnername | mkdir Ordnername |
Beispiel | mkdir Garten | mkdir Garten |
Tipps |

Datei bearbeiten / erstellen
Windows bietet „nur“ den grafischen Editor notepad. Linux hat eine Konsolen-intern Editor vi (ausgesprochen wie-ei) für visual editor bzw. vim (m = improved)
PowerShell Windows | Bash Linux | |
Befehl | notepad | vi |
Syntax | notepad [Dateiname alt/neu] | vi [Dateiname alt/neu] |
Beispiel | notepad text.txt | vi text.txt |
Tipps | Öffnet eine graphische Oberfläche | vi ist ein etwas altmodischer (aber schneller Editor) |

Wenn Du vi nicht magst, ist nano ein Super-Alternative. Die Shortcuts sind „moderner“, dafür ist das Programm nicht auf jedem System verfügbar.
Installationsort eines Programms ausgeben lassen
Falls Du nicht weißt, in welchem Ordner die Java-, AndoridSDK-, VSCode-Installation sich befindet, hilft where.
PowerShell Windows | Bash Linux | |
Befehl | where | where |
Syntax | where programmName | where programmName |
Beispiel | where java | where java |
Tipps | Suche nach .exe Dateien, die DU über die Konsole ausführen willst. Trage neue Ordner in die Umgebungsvariablen ein, um mehr .exe Programm mit der Konsole anzusprechen | Um Variablen dauerhaft hinzuzufügen führe sudo -H gedit /etc/environment aus und füge eine Zeile hinzu VALUE=WERT. Speichere. Loge Dich ein und wieder aus. Starte die Konsole neu. |


Datei downloaden
Ohne Browser geht’s schneller.
PowerShell Windows | Bash Linux | |
Befehl | curl | curl |
Syntax | curl [https://url] –output [file.endung] | curl [https://url] –output [file.endung] |
Beispiel | curl https://lippke.li –output lippke.html | curl https://lippke.li –output lippke.html |
Tipps |


Programm ausführen
PowerShell Windows | Bash Linux | |
Befehl | Nichts | Nichts oder ./ |
Syntax | programmName | programmName oder im Homeverzeichnis ./programmName |
Beispiel | java | java oder ./java |
Tipps | Nutze den help-Flag (siehe oben), um mehr über die Befehle des Programms zu erfahren | Nutze den help-Flag (siehe oben), um mehr über die Befehle des Programms zu erfahren. |
Du kannst nur ein Programm starten, wenn dieses im gleichen Verzeichnis sich befindet wie der Konsolenpfad. Alternativ hast Du den Ordner des Programms in einer Umgebungsvariablen gespeichert. Mit der gesetzten Umgebungsvariable kannst Du von jedem Ordner aus das Programm aufrufen.
Administrator-Rechten Dateien / Ordner ausführen
Diese Befehle brauchst Du, um in den Gott-Modus zu wecheln.
PowerShell Windows | Bash Linux | |
Befehl | runas /noprofile /user:Administrator cmd | sudo oder |
Syntax | runas /noprofile /user:Administrator cmd | sudo [jeder Befehl außer cd] |
Beispiel | runas /noprofile /user:Administrator cmd | sudo apt-get install java |
Tipps | Du kannst die CMD mit eine Rechtsklick im Admin-Modus starten. | Mit sudo –s kannst Du in den SUPERUSER-Modus wechseln. Das kann gefahrlich sein. Im SUPERUSER-Modus kannst Du das gesamte System mit Allem löschen. |
PowerShell Programmierung
Schleifen foreach
PowerShell ist mehr als nur eine Kommandozeile. Du kannst Skripte mit Syntax, Schleifen, Funktionen und mehr in einem Script (.ps1) erstellen.
Iteriere durch eine Schliefe mit einer foreach.
$einArray = "steffen","coding","hacking","security"
foreach ($keyword in $einArray)
{
Write-Host $keyword
}
Kommentare gehen so:
# Kommentar 1
# Noch mehr Text
Write-Host "Hallo"
<#
langer Text
#>
Konditionen mit PowerShell gehen so:
if($entscheidungsVariabele){
# Schleifen-Rumpf für Erfüllung
} else {
# Schleifen-Rumpf für NICHT-Erfüllung
}
-eq = equal = gleich
-gt = greater than = größer als
-lt = lower than = kleiner als
-contains = prüft ob der Wert links im Array rechts von dem Begriff ist
Definiere Variabelen:
$name='horst';
$alter= 42
Wenn Du komplexere Programme programmieren willst, ist PowerShell Skript eine Option, aber klassische Programmiersprachen wie Java oder Python sind gute Alternativen.
Quellenangabe Bilder: Icons und SVG-Grafiken im Titelbild von Microsoft PowerPoint 2019, frei verfügbar nach EULA
*) Mit dem Abonnement des Newsletters erklären Sie sich mit der Analyse des Newsletters durch individuelle Messung, Speicherung und Analyse von Öffnungsraten und der Klickraten in Profilen zu Zwecken der Gestaltung künftig besserer Newsletter einverstanden. Sie können die Einwilligung in den Empfang des Newsletters und die Messung mit Wirkung für die Zukunft widerrufen. Mehr in der Datenschutzerklärung.
thank you