Windows-Benutzer sind es bereits seit vielen Jahren gewohnt, dass Microsoft Windows Betriebssysteme schon längst nicht mehr mit nur einer Shell auskommen. Während wir auf Linux-Systemen eine meist einheitliche Lösung vorfinden (Bash), auf dessen Kommandozeile wir uns stets verlassen können, gibt es bei aktuellen Microsoft Windows-Betriebssystemen bereits drei verschiedene Möglichkeiten, Befehlszeilen-Werkzeuge zur Eingabe von Anweisungen zu verwenden.
Wer sich jenseits von anklickbaren Symbolen und Standard-Aufgaben bewegt, kann eine Vielzahl von Aufgaben für Windows-Clients und -Server mit der Kommandozeile erledigen. Darunter zählen Installationen, Fehlerbehebungen, die Automatisierung von Aufgaben und die Ausführung von Diagnosen und Verwaltungen von Systemeinstellungen.
Das ist für Administratoren auch notwendig, um eine große Anzahl von Clients und Servern mit wenig Zeitaufwand zu verwalten. Stellt sich jedoch spätestens jetzt die ehrliche Frage, braucht es wirklich drei unterschiedliche Konsolen? Um dies beantworten zu können, müssen wir etwas tiefer in die Geschichte von Microsoft Windows zurückblicken und die Konsolen miteinander vergleichen.
Die Windows-PowerShell kam 2006, um die nicht mehr wettbewerbsfähige Eingabeaufforderung abzulösen
Microsoft hat die Windows-PowerShell im Jahr 2006 als neues und besseres Windows-Konsolenprogramm etabliert. Das war auch zwingend notwendig, um im Wettbewerb mithalten zu können. Im Vergleich zu der Shell aus dem UNIX-Umfeld, waren die Möglichkeiten für viele praktische Anwendungen sehr beschränkt. Das könnte auch mit einer der elementaren Gründe sein (Vermutung), weshalb unixoide-Betriebssysteme sich vor allem unter Geeks und im Serverumfeld durchsetzen konnten.
Heute laufen fast alle Webseiten und Serverdienste, jenseits der Microsoft eigenen Lösungen, auf Linux-Server-Infrastrukturen. Microsoft ist bemüht und möchte gerne wieder ein größeres Stück vom Kuchen haben, denn insbesondere Unternehmenskunden bringen das Geld ein. Diese Möglichkeiten hat Microsoft in der Vergangenheit jedoch absolut verschlafen. Mit Modifizierungen und der Integration neuer Konsolen versucht Microsoft aber immerhin, eine attraktive und wettbewerbsfähige Konsole für die Kommandozeile bereitzustellen.
Im Grunde genommen kann die PowerShell auch alles, was die Eingabeaufforderung auch beherrscht, nur noch sehr viel mehr. Das macht die Eingabeaufforderung in der Regel heute überflüssig. Dennoch befindet sich die mittlerweile veraltete Windows-Konsole noch immer mit am Board der aktuellen Windows 11 Version von Microsoft.
Was die Frage aufwirft: „Gibt es einen Grund, die Eingabeaufforderung und nicht die PowerShell zu verwenden?“
Nein! Es gibt heute keinen wirklich sinnvollen Grund mehr, die Eingabeaufforderung (cmd.exe) über die PowerShell zu verwenden. Auch Neulinge sollten sich nicht mehr mit veralteten Methoden beschäftigen und direkt zur fortschrittlicheren PowerShell greifen. Der einzige mir einfallende Grund, weshalb wir die Eingabeaufforderung und nicht die Windows-PowerShell verwenden könnten, ist die Abhängigkeit von gut funktionierenden und bereits vorhandenen CMD-Batch-Dateien oder die Bequemlichkeit, das damals gelernte auch heute noch umsetzen zu können. Wir Menschen sind und bleiben wohl Gewohnheitstiere.
Warum die PowerShell der Eingabeaufforderung in allen Bereichen überlegen ist: PowerShell vs. Eingabeaufforderung (CMD)
Auf den ersten Blick sind sich die beiden Konsolenprogramme zwar relativ ähnlich, beide bieten dem Anwender die Möglichkeit Programme wie Ping, DNS-Abfragen oder Kopien auszuführen, Skripts-/Batch-Dateien anzulegen und Aufgaben zu automatisieren, der Unterschied liegt jedoch im Detail.
Die PowerShell kann sehr, sehr viel mehr als nur das. Sie bietet einen erheblich größeren Satz von Befehlen (Cmdlets genannt) im Vergleich zur Eingabeaufforderung, die sich über viele Microsoft-Produkte hinausstrecken und integrieren lässt. Weiter bietet die PowerShell eine Integrationsmöglichkeit mit .NET. So können wir ohne Probleme Klassen definieren, um fehlende Funktionalitäts-Cmdlets selbst zu programmieren und zu erweitern. Damit wird die Windows-PowerShell zum unersetzlichen Werkzeug eines Microsoft-Administrators.
Microsoft hat 2019 mit dem Windows-Terminal das dritte Konsolenprogramm herausgebracht
Seit 2019 liegt uns nun mit dem Windows-Terminal die bereits dritte Möglichkeit vor, Konsolenbefehle auf unserem Windows-Computer auszuführen. Anstatt eine einheitliche Lösung herauszubringen, die sich fortlaufend weiterentwickelt, geht Microsoft also schon wieder den Weg einer neuen Konsole, davon könnte man zu mindestens ausgehen, oder doch nicht?
Was ist eigentlich der Zweck von Windows Terminal?
Mit dem Windows-Terminal kam die vermutlich beste und all umfassendste Allgemeinlösung von Microsoft, um endlich eine einheitliche Lösung zu etablieren. Es handelt sich bei dem Terminal um einen Terminal-Operator, der fast jede Befehlszeilen-Konsole unterstützt und sowohl die Befehle der PowerShell, der Eingabeaufforderung und der Bash (Bourne Again Shell) unterstützt, die Installation des Windows Subsystem für Linux (WSL) vorausgesetzt.
Die Oberfläche beinhaltet jetzt Registerkarten, mit der mehrere Befehlszeilenprogramme gleichzeitig ausgeführt werden können. Eine Konsole für alles eben wie wir es aus dem Linux-Umfeld gewohnt sind. Hat ja auch lange genug gedauert. Gut vorstellbar also, dass die klassische Eingabeaufforderung in der Zukunft nur noch über das Windows-Terminal bedient werden kann.
Wozu braucht es auch drei unterschiedliche Konsolenprogramme, wenn eines davon alle Befehle und Lösungen miteinander kombiniert? Der neue Windows-Terminal erlaubt es uns, in einem Programm die Eingabeaufforderung, PowerShell, BASH und Azure gleichzeitig über unterschiedliche Registerkarten zu bedienen. Das ist sehr komfortabel und praktisch in der Anwendung.
Des Weiteren gibt es eine neue Text-Rendering-Engine und viele Anpassungsmöglichkeiten für das Erscheinungsbild des Windows-Terminals, eine Unicode- und UTF-Unterstützung von Emojis und Sonderzeichen aus vielen unterschiedlichen Sprachen.