Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.

PowerShell Tutorial – Einführung mit Grundlagen lernen (2023)

PowerShell Befehle Einführung

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!

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:

  1. Der Nutzer gibt ein Befehl ein
  2. Der Nutzer startet den Befehl mit ENTER
  3. Der Computer führt den Befehl aus und gibt Text aus
  4. Der Computer stellt ein neues Eingabefeld zur Verfügung.
  5. 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?

KommandozeileGUI
Geringere System-Ressourcen zur DarstellungWeniger „gegoogle“ nach Kommandozeilen-Befehle und Fehlern (wenn diese gut ist)
Optionen mit help-Flag schnell auffindbarGrafische Verbesserungen wie Schriftarten, Drop-Down-Menus
Vereinfachte Automation und WiederholungenEingewöhnungszeit von GUIs ist im Vergleich zur Kommandozeile gering
Entwickeln von ProzedurenEinfache 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.

ShortcutBedeutung / Wirkung
Strg + C (nicht kopieren)Stoppt den laufenden Vordergrund-Prozess (hart)
Strg + ZAnhalten des Vordergrund-Prozesses
Strg + LEin- und Ausgaben leeren
Pfeil nach oben / untenDurch alle vorherigen Eingaben blättern
TabDer 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 WindowsBash Linu
Hilfe zu einem Befehl anzeigen lassenhelp programmnameprogrammname –h [alternativ –help]
in anderes Verzeichnis / Ordner wechselncd Ordnername[/Ordnername/…]cd Ordnername[/Ordnername/…]
Dateien und Ordner anzeigen lassendir [/Ordnername/…]ls [/Ordnername/…]
Datei verschiebenmove altordner\dateiname.end neuordner\ dateiname.endmv altordner/dateiname.end neuordner/ dateiname.end
Datei löschendel Dateiname.endrm Dateiname.end
Ordner erstellenmkdir Ordnernamemkdir Ordnername
Datei bearbeiten / erstellennotepad [Dateiname alt/neu]vi [Dateiname alt/neu]
Installationsort eines Programms ausgeben lassenwhere programmNamewhere programmName
Datei downloadencurl [https://url] –output [file.endung]curl [https://url] –output [file.endung]
Programm ausführenprogrammNameprogrammName oder ./programmName
Administrator-Rechten Dateien / Ordner ausführenrunas /noprofile /user:Administrator cmdsudo [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 WindowsBash Linux
Befehlhelp–h oder -help
Syntaxhelp programmnameprogrammname –h [alternativ –help]
BeispielhelpJavac -help
TippsNur für Windows eigene ProgrammeFür jedes Linux Konsolen Programm
01 Help Cmd
01 Help Cmd

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 WindowsBash Linux
Befehlcdcd
Syntaxcd Ordnername[/Ordnername/…]cd Ordnername[/Ordnername/…]
Beispielcd AMDcd AMD
TippsMit Tab kannst Du den Ordnernamen vervollständigenMit Tab kannst Du den Ordnernamen vervollständigen
03 change directory cmd
03 change directory cmd

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 WindowsBash Linux
Befehldirls
Syntaxdir [/Ordnername/…]ls [/Ordnername/…]
Beispieldir userls user
TippsMit dir /AH kannst Du Dir versteckte Dateien anzeigen lassenMit ls –a kannst Du Dir versteckte Dateien anzeigen lassen
05 Dir cmd
05 Dir cmd . PowerShell Tutorial

Datei verschieben

So transferierst Du eine Datei von dem A-Ordner zum B-Ordner.

 PowerShell WindowsBash Linux
Befehlmovemv
Syntaxmove altordner\dateiname.end neuordner\ dateiname.endmv altordner/dateiname.end neuordner/ dateiname.end
Beispielmove c:\users\steff\text.txt C:\users\steff\Downloadsmv c:/users/steff/Downloads/text.txt c:/users/steff/text.txt
Tipps  
07 move cmd
07 move cmd

Datei löschen

 PowerShell WindowsBash Linux
Befehldelrm
Syntaxdel Dateiname.endrm Dateiname.end
Beispieldel text.txtrm text.txt
Tipps  
08 del cmd
08 del cmd

Ordner erstellen

In Windows kannst Du in der grafischen Oberfläche STRG+UMSCHALT+N nutzen, um schnell neue Ordner zu erstellen.

 PowerShell WindowsBash Linux
Befehlmkdirmkdir
Syntaxmkdir Ordnernamemkdir Ordnername
Beispielmkdir Gartenmkdir Garten
Tipps  
10 rm bash
10 rm bash

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 WindowsBash Linux
Befehlnotepadvi
Syntaxnotepad [Dateiname alt/neu]vi [Dateiname alt/neu]
Beispielnotepad text.txtvi text.txt
TippsÖffnet eine graphische Oberflächevi ist ein etwas altmodischer (aber schneller Editor)
13 notepad cmd
13 notepad cmd

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 WindowsBash Linux
Befehlwherewhere
Syntaxwhere programmNamewhere programmName
Beispielwhere javawhere java
TippsSuche 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 anzusprechenUm 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.
14 where java cmd
14 where java cmd
15 where code java bash
15 where code java bash

Datei downloaden

Ohne Browser geht’s schneller.

 PowerShell WindowsBash Linux
Befehlcurlcurl
Syntaxcurl [https://url] –output [file.endung]curl [https://url] –output [file.endung]
Beispielcurl https://lippke.li –output lippke.htmlcurl https://lippke.li –output lippke.html
Tipps  
16 curl cmd
16 curl cmd
17 curl bash in file
17 curl bash in file

Programm ausführen

 PowerShell WindowsBash Linux
BefehlNichtsNichts oder ./
SyntaxprogrammNameprogrammName oder im Homeverzeichnis ./programmName
Beispieljavajava oder ./java
TippsNutze den help-Flag (siehe oben), um mehr über die Befehle des Programms zu erfahrenNutze 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 WindowsBash Linux
Befehlrunas /noprofile /user:Administrator cmdsudo oder
Syntaxrunas /noprofile /user:Administrator cmdsudo [jeder Befehl außer cd]
Beispielrunas /noprofile /user:Administrator cmdsudo apt-get install java
TippsDu 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.


Danke fürs Lesen! Erhalte weitere Tutorials in meinem kostenlosen Newsletter.
Jeden Monat teile ich mit Dir 4 neue praxisnahe Tutorials.
Trage Deine Mail zum kostenlosen Empfang des Newsletters* ein.




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.

Kommentare 1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.