Windows Grundlagen

Lektion 2 von 6

CMD, PowerShell und Windows Terminal

Unterscheide Terminalhost und Shells und untersuche Windows mit sicheren Befehlen.

Lernziele

Nach Abschluss dieser Lektion kannst du:

  • Command Prompt, PowerShell und Windows Terminal unterscheiden
  • Shell und Terminalhost erklären
  • sichere, nur lesende Befehle ausführen
  • in CMD und PowerShell navigieren
  • Befehle und Hilfe entdecken
  • textorientierte CMD-Ausgabe und PowerShell-Objektpipeline konzeptionell unterscheiden
  • Aliase vorsichtig einordnen
  • Pfad, Benutzer und Host erkennen
  • unbekannte Befehle nicht blind erhöht ausführen
  • shellabhängige Syntax erkennen

Host und Shell sind verschiedene Rollen

Windows Terminal ist eine Terminalanwendung und kann Profile für PowerShell, Command Prompt und weitere installierte Shells hosten. cmd.exe ist der traditionelle Windows-Befehlsinterpreter: Er bleibt für viele Aufgaben nützlich, ist aber nicht automatisch die beste Lösung jeder modernen Administration. PowerShell ist Shell sowie Automatisierungs- und Skriptumgebung.

Zwei Shells, ein Terminalhost

Command Prompt (cmd.exe)

C:\Users\Azubi> whoami
firma\azubi

Prompt und Befehl in Zeile 1; Ausgabe in Zeile 2.

PowerShell

PS C:\Users\Azubi> Get-Location

Path
----
C:\Users\Azubi

PowerShell-Prompt und Befehl in Zeile 1; strukturierte Ausgabe darunter.

Windows Terminal kann beide Shells als Profile hosten. Prompt, Befehl und Ausgabe gehören zur jeweiligen Shell-Sitzung.

Navigation und Befehle

AufgabeCMDPowerShell
aktueller OrtcdGet-Location
Inhalt auflistendirGet-ChildItem
Ort wechselncd C:\WindowsSet-Location C:\Windows

PowerShell stellt häufig Aliase wie cd, dir oder ls bereit. Das macht CMD, GNU/Linux-Werkzeuge und PowerShell nicht semantisch identisch; ls ist dort häufig nur ein Alias für Get-ChildItem.

whoami zeigt die Ausführungsidentität, hostname den Computernamen. Die Shell hält einen aktuellen Arbeitsort – die Grundlage relativer Pfade in Lektion 3.

PowerShell systematisch entdecken

Cmdlets folgen häufig Verb-Noun, etwa Get-Process, Get-Service und Get-ChildItem. Get-Command, Get-Command *service* und Get-Help Get-ChildItem unterstützen die Suche. Lokale PowerShell-Hilfe kann je nach installierten Hilfedaten unterschiedlich ausführlich sein.

Traditionelle CMD-Werkzeuge reichen häufig Text weiter. PowerShell-Pipelines können strukturierte .NET-Objekte zwischen Befehlen übertragen – PowerShell kann trotzdem auch Text verarbeiten.

Hilfe und Status

CMD bietet help, dir /?, außerdem ver und where. %ERRORLEVEL% macht häufig den Exitcode eines zuvor passenden CMD-Befehls sichtbar. In PowerShell bezieht sich $LASTEXITCODE auf das letzte native Programm, wo anwendbar; $? bildet zusätzlich PowerShell-Erfolgssemantik ab. Diese Größen sind verwandt, aber nicht identisch.

Übung

Windows-Werkzeuge zuordnen

Ordne jedem Eintrag die passende Bedeutung zu.

Typische Fehlvorstellungen

Falsch: „CMD, PowerShell und Windows Terminal sind dasselbe.
Korrektur: CMD und PowerShell sind unterschiedliche Shells; Terminal ist ein Host.
Falsch: „ls in PowerShell beweist, PowerShell sei Linux.
Korrektur: ls kann ein PowerShell-Alias für Get-ChildItem sein.
Falsch: „Jeder CMD-Befehl funktioniert identisch in PowerShell.
Korrektur: Syntax, Auflösung und Semantik können abweichen.
Falsch: „PowerShell braucht immer Administratorrechte.
Korrektur: Lesen und Navigation funktionieren häufig mit normalen Rechten.
Falsch: „Keine Ausgabe bedeutet Fehlschlag.
Korrektur: Manche erfolgreichen Befehle bleiben still; Status und Dokumentation helfen.
Falsch: „Terminal als Administrator macht jeden Befehl sicher.
Korrektur: Erhöhung vergrößert die Wirkung, nicht die Sicherheit eines Befehls.

Praxis: nur lesen und navigieren

  1. Erkenne am Prompt, ob CMD oder PowerShell läuft.
  2. Zeige Benutzer mit whoami und Host mit hostname.
  3. Zeige den Ort mit cd oder Get-Location.
  4. Liste ihn mit dir oder Get-ChildItem.
  5. Wechsle mit cd oder Set-Location in ein vorhandenes, unkritisches Verzeichnis.
  6. Kehre in CMD über cd %USERPROFILE%, in PowerShell über Set-Location $HOME zurück.
  7. Lies Hilfe mit dir /? oder Get-Help Get-ChildItem.

Keine Erhöhung und keine Dateiänderung sind erforderlich.

Dein Lernstand

Lektion in Bearbeitung

Das Öffnen startet die Lektion. Als erledigt zählt sie erst nach deiner ausdrücklichen Bestätigung.