Windows

Windows Terminal - 10 Tipps zur Nutzung

13.02.2022
Von Thorsten Eggeling
Windows 11 bietet einige Verbesserungen für Freunde der Kommandozeile. Das neue Windows-Terminal erleichtert den Umgang mit Powershell und Eingabeaufforderung und ist zudem vielfältig anpassbar.
Das Windows-Terminal vereint die Powershell, Windows-Konsole und weitere Terminals mit Tabs unter einer Haube.
Das Windows-Terminal vereint die Powershell, Windows-Konsole und weitere Terminals mit Tabs unter einer Haube.
Foto: REVector - shutterstock.com

Grafische Oberflächen bieten einen intuitiven Zugang zu Programmen und Einstellungen. Profis verwenden dagegen gerne die Kommandozeile. Die Nutzer sehen nur einen blinkenden Cursor und müssen genau wissen, was einzutippen ist. Intuitiv bedienbar ist das nicht, denn es gibt keine Hinweise darauf, was überhaupt möglich ist und welchen Nutzen man davon hat.

Trotz einer eher steilen Lernkurve ist die Kommandozeile ein wichtiges Werkzeug zur Systemverwaltung, wenn es um die schnelle Abfrage und Auswertung von Informationen geht. Darüber hinaus lässt sich die Ausgabe von Tools oder Befehlen in kleinen Programmen zusammenfassen und für die Automatisierung nutzen. Derartige Lösungen müssen oft für ein bestimmtes Szenario maßgeschneidert werden, weshalb wir in diesem Artikel nur Tipps zum grundlegenden Umgang mit dem Windows-Terminal beziehungsweise zu Powershell und Eingabeaufforderung liefern. Einige Bespiele illustrieren die Verwendung und sollen zum weiteren Ausbau anregen.

1. Das Windows-Terminal als zentrale Anlaufstelle

Alles im Blick: Windows-Terminal kann Powershell, Eingabeaufforderung und andere Programme in Registerkarten anzeigen. Das ermöglicht den schnellen Wechsel zwischen den Kommandozeilen.
Alles im Blick: Windows-Terminal kann Powershell, Eingabeaufforderung und andere Programme in Registerkarten anzeigen. Das ermöglicht den schnellen Wechsel zwischen den Kommandozeilen.

Nach Jahren des Stillstands räumt Microsoft in Windows 11 der Kommandozeile wieder etwas mehr Bedeutung ein. Wie bisher lassen sich Powershell und Eingabeaufforderung in einem eigenen Fenster starten, standardmäßig wird aber zusätzlich das Windows-Terminal installiert. Es ermöglicht den Start von Powershell und Eingabeaufforderung, bei Bedarf auch in mehreren Tabs innerhalb eines Fensters. Man kann so schnell zwischen den Konsolen umschalten. Ist das Windows Subsystem für Linux installiert (siehe Kasten), lässt sich auch eine Linux-Shell in einem Tab öffnen.

Neben der parallelen Nutzung mehrerer Kommandozeilen bietet das Windows-Terminal vor allem optische Verbesserungen. Farbe, Schriftart, Schriftgröße, Tastenkombinationen lassen sich anpassen. Man kann sogar Hintergrundbilder für die ansonsten eher langweiligen Terminalfenster festlegen. Die Textausgabe erfolgt mit Hardwarebeschleunigung durch den Prozessor des Grafikchips, was eine flüssigere Darstellung vor allem der Ausgabe zahlreicher Textzeilen ermöglicht.

2. Windows-Terminal aktualisieren oder installieren

Version prüfen: Der Befehl $PSVersionTable gibt Informationen zur Powershell aus. Unter Windows 11 ist standardmäßig Powershell in der Version 5.1 installiert.
Version prüfen: Der Befehl $PSVersionTable gibt Informationen zur Powershell aus. Unter Windows 11 ist standardmäßig Powershell in der Version 5.1 installiert.

Das Windows-Terminal lässt sich am einfachsten über den Ausführen-Dialog starten. Drücken Sie die Tastenkombination Win-R, tippen Sie wt ein und bestätigen Sie per Klick auf "OK". Soll für die Systemverwaltung der Start mit erhöhten Rechten erfolgen, halten Sie die Tasten Shift und Strg gedrückt und klicken dann auf "OK". Alternativ suchen Sie im Startmenü nach Terminal. Die App startet standardmäßig mit einer Registerkarte, die eine Powershell zeigt.

Klicken Sie auf den Pfeil in der Titelleiste und gehen Sie auf "Info". Auf unserem Testsystem war unter Windows 11 die Version "1.11.2921.0" installiert, auf die wir uns in diesem Artikel beziehen. Sollte "Info" auf Ihrem PC eine ältere Version anzeigen, öffnen Sie den Microsoft Store, klicken links unten auf "Bibliothek" und dann auf "Updates abrufen". Installieren Sie die verfügbaren Aktualisierungen per Klick auf "Alle aktualisieren".

Windows Terminal lässt sich zurzeit auch ab Windows 10 Version 1903 (Build 18362.0) installieren. Das geht am einfachsten über eine Suche nach Windows Terminal im Microsoft Store. Neuere Versionen für Windows 10 und 11 sind im Microsoft Store per Suche nach Windows Terminal Preview zu finden. Zurzeit wird hier die Version 1.12 angeboten.

Der direkte Download des Installationspakets ist ebenfalls möglich. Öffnen Sie im Webbrowser die Adresse https://github.com/microsoft/terminal und klicken Sie im rechten Bereich der Seite auf "Releases". Laden Sie die aktuelle msixbundle-Datei herunter, die Sie dann öffnen und installieren.

3. Powershell-Version prüfen und Update installieren

Angepasste Installation: Bei der Einrichtung von Powershell 7 sollten Sie die gezeigten Optionen aktivieren. Damit sind die wichtigsten Voreinstellungen optimal gesetzt.
Angepasste Installation: Bei der Einrichtung von Powershell 7 sollten Sie die gezeigten Optionen aktivieren. Damit sind die wichtigsten Voreinstellungen optimal gesetzt.

Im Powershell-Tab des Windows-Terminals erscheint ein Hinweis auf die Installation einer neueren Powershell-Version. Stand November 2021 richtet Microsoft unter Windows 10 die Version 5.1 ein. Welche Version auf Ihrem PC installiert ist, finden Sie heraus, indem Sie

$PSVersionTable

eingeben und mit der Enter-Taste bestätigen. Windows Powershell 5.1 ist zwar noch nicht veraltet, wird aber nicht mehr weiterentwickelt. Der Nachfolger ist Powershell 7, das sich auch unter Windows 8.1, 10, Mac- OS und einigen Linux-Distributionen einrichten lässt.

Halten Sie im Powershell-Tab die Strg-Taste gedrückt und klicken Sie auf den Link https://aka.ms/PSWindows. Auf der Übersichtsseite finden Sie Downloadlinks für Powershell 7. Wählen Sie das MSI-Paket und installieren Sie es. Unter https://github.com/PowerShell/PowerShell finden Sie weitere Information und Downloads für andere unterstützte Systeme.

Bei der Installation setzen Sie im Dialog "Optional Actions" und im nachfolgenden Dialog Häkchen bei allen Optionen.

Powershell 7 wird parallel zu Windows Powershell 5.1 installiert. Wenn Sie Windows-Terminal neu starten, stehen bei der Auswahl unter dem Pfeil in der Titelleiste beide Versionen zur Verfügung.

4. Einstellungen für das Windows-Terminal anpassen

Umfangreiche Konfiguration: Windows-Terminal bietet zahlreiche Einstellungen. Unter „Starten“ lässt sich bei „Standardprofil“ angeben, welche Shell automatisch starten soll.
Umfangreiche Konfiguration: Windows-Terminal bietet zahlreiche Einstellungen. Unter „Starten“ lässt sich bei „Standardprofil“ angeben, welche Shell automatisch starten soll.

Sie erreichen die Einstellungen über die Tastenkombination Strg-Komma oder die Pfeil-Schaltfläche in der oberen Leiste des Windows-Terminals. Da es zahlreiche Optionen gibt, empfiehlt es sich, alle Rubriken einmal anzuklicken und zu sehen, was sich dahinter verbirgt.

Unter "Aktionen" findet man eine Liste der Tastaturkürzel, die sich bei Bedarf ändern lassen. Per Klick auf "+ Neu Hinzufügen" lassen sich weitere Tastenkombinationen definieren. Über Strg-Shift-P zeigt Windows-Terminal die Aktionen und Tastenzuweisungen jederzeit an.

Nützlich ist beispielsweise Alt-Shift-Plus, womit sich ein Tab vertikal teilen lässt. Im neuen Bereich wird angezeigt, was unter "Starten" bei "Standardprofil" eingestellt ist. Mit Strg-Shift-W lässt sich ein Bereich schließen. Alt-Shift-Minus bewirkt eine horizontale Teilung.

Im Abschnitt unter "Profile" lässt sich die Gestaltung festlegen, beispielsweise Farbschema, Schriftart, Schriftgröße und Hintergrundbild. Die Einstellungen unter "Standardwerte" sind die Vorgaben für alle Profile, wenn nichts anderes angegeben ist. Ansonsten kann man die Optionen etwa unter "Windows PowerShell" und "Eingabeaufforderung" wählen.

Per Klick auf "+ Neues Profil hinzufügen" lassen sich weitere Anwendungen konfigurieren. Sie können beispielsweise eine Powershell mit anderen Optionen oder in einem anderen Arbeitsverzeichnis starten. Für Windows-Terminal sind fast alle interaktiven Tools für die Befehlszeile geeignet, etwa ssh.exe für eine Fernverbindung zu einem anderen Windows- oder Linux-Rechner im Netzwerk.

Alle Einstellungen werden übrigens in einer Konfigurationsdatei gespeichert, die Sie in den "Einstellungen" nach einem Klick auf "JSON-Datei öffnen" bearbeiten können. Dafür eignet sich ein beliebiger Texteditor, übersichtlicher wird es aber mit Visual Studio Code (siehe Kasten unten).

Komfortable Editoren für Powershell-Skripte

Editor für Skriptsprachen: Visual Studio Code sorgt mit farblicher Syntax-Hervorhebung für mehr Übersicht im Quelltext. Mehrere Dateien lassen sich in Tabs öffnen.
Editor für Skriptsprachen: Visual Studio Code sorgt mit farblicher Syntax-Hervorhebung für mehr Übersicht im Quelltext. Mehrere Dateien lassen sich in Tabs öffnen.

Der Windows-Editor Notepad reicht für Powershell-Skripte sowie Batch-Dateien für die Eingabeaufforderung aus. Mehr Komfort bietet aber beispielsweise Notepad++. Im Programm lassen sich mehrere Dateien in Tabs öffnen. Die Syntax-Hervorhebung färbt Befehle unterschiedlich ein, was die Orientierung im Quelltext erleichtert.

Noch mehr Funktionen enthält Visual Studio Code, ein kostenloser Quelltexteditor von Microsoft. Das Programm unterstützt zahlreiche Skript- und Programmiersprachen. Über Erweiterungen lassen sich weitere Komfortfunktionen nachrüsten. Wenn Sie das erste Mail ein Powershell-Skript in Visual Studio Code öffnen, schlägt Ihnen das Programm die Installation passender Erweiterungen vor, die Sie per Klick auf „Install“ annehmen sollten.

5. Interaktive Nutzung der Kommandozeile

Tastaturkürzel: Die Darstellung auf den Registerkarten lässt sich über die Tastatur steuern. Die Tastenkombinationen kann man in den Einstellungen ermitteln und ändern.
Tastaturkürzel: Die Darstellung auf den Registerkarten lässt sich über die Tastatur steuern. Die Tastenkombinationen kann man in den Einstellungen ermitteln und ändern.

Für die Kommunikation mit dem Computer ist eine Mensch-Maschine-Schnittstelle erforderlich. Das kann die Tastatur, die Maus, eine Sprachsteuerung oder die Texteingabe und -ausgabe sein. Letzteres wird auch als Befehlszeile, Kommandozeile, Terminal oder Shell bezeichnet. Eine textverarbeitende Shell wartet auf Befehle, die Sie eintippen und mit der Enter-Taste bestätigen, was in etwa einem Klick auf "OK" in der grafischen Oberfläche entspricht.

Powershell, Eingabeaufforderung oder die Bash-Shell von Linux verarbeiten interne Befehle, die der jeweilige Kommandointerpreter ausführt. Eine Eingabe kann aber auch der Name eines Programms sein, das die Shell dann startet. Es kann sich dabei um ein Kommandozeilentool handeln, aber es lassen sich auch Programme mit grafischer Benutzeroberfläche starten.

Befehle oder Programmaufrufe werden oft in Kombination mit Parametern oder Optionen verwendet, die das Verhalten ändern beziehungsweise die angeben, was ein Befehl verarbeiten soll. Parameter, die die Funktionen eines Befehls beeinflussen, werden unter Windows meist mit einem vorangestellten "/" oder "-" eingeleitet. Das sieht in der allgemeinen Form so aus:

Befehl /Param1 /Param2 Dateiname

Damit die Shell die übergebenen Parameter verarbeiten kann, sind diese jeweils mit einem Leerzeichen getrennt. Das führt jedoch zu Problemen, wenn sie beispielsweise "Langer Dateiname" verwenden wollen. Die Eingabeaufforderung oder Powershell interpretiert das als zwei Parameter, was zu einer Fehlermeldung wie "Datei nicht gefunden" führt. Das lässt sich vermeiden, indem Sie Datei- oder Ordnernamen in Anführungszeichen setzen:

Befehl /Param1 "Langer Dateiname"

Dabei ist zu beachten, dass der Windows-Explorer bei einigen Ordnern nicht den tatsächlichen Ordnernamen im Dateisystem anzeigt. "C:\Benutzer" beispielsweise ist in einer Shell über "C:\Users" zu erreichen und "C:\Programme" heißt eigentlich "C:\Program Files".

Eingabeaufforderung: Die Eingabeaufforderung verfügt über interne Befehle, die in cmd.exe enthalten sind. Beispiele dafür sind dir, mit dem sich der Inhalt eines Ordners anzeigen lässt, oder der Befehl cd, mit dem Sie das Verzeichnis wechseln. Fast alle Befehle liefern einen Hilfetext, indem Sie "/?" als Parameter übergeben:

dir /?

Beliebige Programme für die Kommandozeile und die grafische Oberfläche lassen sich über ihren Namen starten. Tippen Sie beispielsweise notepad ein und bestätigen Sie mit der Enter-Taste, um den Windows-Texteditor zu starten. Das funktioniert jedoch nur, wenn das Programm im aktuellen Ordner liegt oder der Installationsordner in der Pfadvariablen hinterlegt ist. Ob das der Fall ist, ermitteln Sie mit der Zeile

Bei Bedarf nehmen Sie weitere Ordner in die Pfadvariable auf. Für die gerade laufende Eingabeaufforderung verwenden Sie beispielsweise die Zeile

PATH=C:\Tools;%PATH%

Soll die Pfadvariable standardmäßig auch für eine neu gestartete Eingabeaufforderung gelten, drücken Sie Win-R und starten

rundll32 sysdm.cpl,EditEnvironmentVariables

Es öffnet sich das Fenster "Umgebungsvariablen", indem Sie den Pfad für den aktuelle angemeldeten Benutzer oder unter "Systemvariablen" systemweit ändern können. Diese Einstellungen gelten auch für die Powershell.

Tools im Pfad: Im Terminal lassen sich nur Programme starten, die im Pfad liegen. Für eigene Tools kann man die Umgebungsvariable „Path“ um andere Ordner erweitern.
Tools im Pfad: Im Terminal lassen sich nur Programme starten, die im Pfad liegen. Für eigene Tools kann man die Umgebungsvariable „Path“ um andere Ordner erweitern.

Powershell: Auch in der Powershell geben Sie Befehle oder Programmnamen ein und bestätigen mit der Enter-Taste. Viele Kommandos sind sogar identisch, beispielsweise dir und cd. Der Befehl dir existiert jedoch nicht wirklich. Er ist ein Alias für das Powershell-Kommando Get-ChildItem. Welche Alias-Bezeichnungen vergeben sind, ermitteln Sie mit

Get-Alias

Eine Liste aller Befehle erhalten Sie über

Get-Command

Hilfetexte gibt es ebenfalls. Es ist empfehlenswert, zuerst den Befehl

Update-Help

in einer Powershell zu verwenden, die Sie mit administrativen Rechten gestartet haben, um die Hilfedateien zu aktualisieren.

Get-Help Get-ChildItem

Mit beispielsweise

erhalten Sie Hilfe zum angegebenen Befehl; Beispiele zur Verwendung liefert

Get-Help Get-ChildItem -examples

Hinweis: Eingabeaufforderung und Powershell unterscheiden in der Regel nicht zwischen Groß- und Kleinschreibung. Wenn wir eine Gemischtschreibung verwenden, dient das nur der besseren Lesbarkeit.

Zusätzliche Hilfen: Standardmäßig liefert die Powershell nur wenige Infos zu den Befehlen. Update-Help lädt weitere Hilfetexte herunter und macht sie offline verfügbar.
Zusätzliche Hilfen: Standardmäßig liefert die Powershell nur wenige Infos zu den Befehlen. Update-Help lädt weitere Hilfetexte herunter und macht sie offline verfügbar.

6. Mehr Farbe für den Powershell-Prompt

Die Powershell zeigt standardmäßig einen Prompt, der über den aktuellen Pfad informiert. Er lässt sich optisch aufpeppen und mit zusätzlichen Informationen versehen. Vorlagen dafür liefert oh-my-posh . Die Installation erfolgt in der Powershell mit dieser Befehlszeile:

Install-Module oh-my-posh -Scope CurrentUser

Folgen Sie den Anweisungen auf dem Bildschirm und bestätigen Sie alle mit J (Ja).

Wenn Sie neben der Windows-Powershell 5.1 auch die Powershell 7.2 installiert haben, führen Sie die Befehlszeile auch hier aus. Die beiden Versionen nutzen unterschiedliche Verzeichnisse für die Module. Für die optimale Darstellung ist eine Schriftart erforderlich, die alle nötigen Zeichen enthält. Laden Sie diese hier herunter. Entpacken Sie die Datei und installieren Sie alle enthaltenen Font-Dateien.

Für Anwendungen im Terminal sind nur Schriftarten mit festen Zeichenabständen geeignet (Mono-Fonts). Eine Auswahl weiterer Schriftarten finden Sie unter https://www.nerdfonts.com.

Get-PoshThemes

Starten Sie Windows-Terminal neu, öffnen Sie eine Powershell und führen Sie diesen Befehl aus:

Sie sehen eine Vorschau der verfügbaren Prompt-Themes und ihre Bezeichnungen. Mit beispielsweise

Set-PoshPrompt -Theme agnosterplus

aktivieren Sie ein Theme in der aktuellen Sitzung. Damit die Einstellung nach einem Neustart berücksichtigt wird, muss die Zeile in die Profildatei eingebaut und damit automatisch ausgeführt werden (siehe Punkte 9 und 10).

Spannende Prompt-Gestaltung: oh-my-posh liefert Themes für die Powershell. Zusammen mit einem passenden Font lässt sie sich fast beliebig anpassen.
Spannende Prompt-Gestaltung: oh-my-posh liefert Themes für die Powershell. Zusammen mit einem passenden Font lässt sie sich fast beliebig anpassen.

7. Powershell für die Ausführung von Skripten konfigurieren

Skripte sind einfache Textdateien mit einer Abfolge von Befehlen. Damit ist es möglich, komplexere oder häufig genutzte Aufgabe über Powershell schnell auszuführen. Skripte lassen sich im Windows-Editor Notepad bearbeiten, besser geeignet sind aber spezielle Editoren (siehe Kasten auf Seite 18).

Aus Sicherheitsgründen ist Powershell so konfiguriert, dass sich Skripte nicht ausführen lassen. Wer selbst Skripte erstellen oder aus dem Internet heruntergeladene verwenden möchte, muss daher die Beschränkungen lockern.

Starten Sie Powershell als Administrator und führen Sie diese Befehlszeile aus:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Remotesigned

Damit erlauben Sie dem aktuellen Benutzer die Skriptausführung in der Powershell. "Remotesigned" bedeutet, dass aus dem Internet heruntergeladene Skripte digital signiert sein müssen.

Sie sollten sich allerdings sicher sein, dass ein Skript keinen Schadcode enthält. Laden Sie Skripts und Programme nur aus vertrauenswürdigen Quellen herunter.

8. Profile für den automatischen Start ermitteln

$PROFILE | Select-Object *

Powershell kann bis zu vier Skripte automatisch beim Start laden. Welche Dateien zuständig sind, kann man den dafür vorgegebenen Variablen entnehmen:

$Profile" alleine entspricht "$Profile.CurrentUserCurrentHost" und enthält bei Windows-Powershell 5.1 den Pfad "C:\Users\

[Benutzer]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1".

Powershell 7 verwendet "C:\Users\[Benutzer]\

Documents\PowerShell\Microsoft.PowerShell_profile.ps1".

Die Profilskripte eignen sich für Alias-Definitionen und benutzerdefinierte Funktionen. Außerdem können Sie darüber Module laden, die in jeder Powershell-Sitzung verfügbar sein sollen.

Standardmäßig sind weder die Pfade noch ps1-Dateien vorhanden. Beides müssen Sie selbst erstellen.

Das Windows-Subsystem für Linux

Das Beste aus beiden Welten: Im Windows-Terminal lässt sich auch die Bash- Shell nutzen. Darin lässt sich beispielsweise der Linux- Dateimanager Midnight Commander starten.
Das Beste aus beiden Welten: Im Windows-Terminal lässt sich auch die Bash- Shell nutzen. Darin lässt sich beispielsweise der Linux- Dateimanager Midnight Commander starten.

Das Windows Subsystem für Linux (WSL) wurde bereits mit Windows 10 eingeführt, bietet aber unter Windows 11 deutlich mehr Leistung. Es ist vor allem für Anwender gedacht, die typische Linux-Anwendungen aus dem Serverbereich nutzen wollen, etwa den Webserver Apache, Perl oder PHP. Das alles gibt es zwar auch für Windows, die Installation ist jedoch kompliziert und fehleranfällig.

Für die Installation von Ubuntu als Subsystem genügt unter Windows 11 die folgende Zeile in einer Powershell mit administrativen Rechten:

wsl --install

Danach starten Sie Windows neu. Im Windows-Terminal steht jetzt „Ubuntu“ bei der Shell-Auswahl zur Verfügung, und Sie können die Linux Bash-Shell nutzen.

(PC-Welt)