Aber was genau hebt das neue Microsoft-Framework nun von der altbekannten Eingabeaufforderung ab? Um es einfach zu sagen: PowerShell hat alle Funktionen von cmd.exe, kann vieles davon sogar deutlich besser und erfüllt darüber hinaus weitere Aufgaben, die unter Windows bislang nicht denkbar waren.
PowerShell bietet prinzipiell dieselbe Bandbreite an Befehlen wie cmd.exe. Im Grunde lässt sich PowerShell mit ausreichenden Kenntnissen über die gängigen Standardbefehle also genauso verwenden wie die Eingabeaufforderung. Jedoch erlaubt sie darüber hinaus auch den Zugriff auf tiefergehende Windows-Interna, die mit cmd.exe bisher nicht ansteuerbar waren, zum Beispiel die Registry und die Windows Management Instrumentation (WMI). Die Kommandozeile von Windows PowerShell folgt darüber hinaus der klaren Logik einer konsistenten Befehlsstruktur und Syntax und ist in dieser Hinsicht sinnvoller aufgebaut als cmd.exe.
Ein weiteres Merkmal, das die Windows PowerShell besonders auszeichnet: Das Programm arbeitet im Gegensatz zur Eingabeaufforderung und zu Unix-ähnlichen Systemen vollständig objektbasiert, statt Ergebnisse von Befehlen nur in Textform (strings) auszugeben. Jedes Objekt verfügt sowohl über Eigenschaften (properties) als auch Methoden (methods),die vorgeben, wie es sich nutzen lässt. So repräsentiert beispielsweise das Windows-Prozessobjekt Eigenschaften wie Prozess-Namen und -IDs sowie Methoden zum Pausieren und Beenden von Prozessen.
Da die Ergebnisse von Befehlen grundsätzlich als .NET-Objekte ausgegeben werden, ist es in PowerShell per Pipelining möglich, deutlich komplexere Aufgaben zu erfüllen als mit cmd.exe. Das funktioniert, indem der Output eines Objekts in der Pipe als Input für das nächste Objekt genutzt wird. So kann man zum Beispiel große und komplexe Datenmengen nach Dateierweiterungen filtern und als übersichtliche Liste formatieren.
Windows PowerShell ist zudem nicht nur einfach eine Kommandozeile, sondern fungiert auch als umfangreiche und leistungsstarke Scripting-Umgebung. In dieser kann man sowohl eigene Befehle schreiben als auch mehrere Befehle zu komplexen Skripten zusammenfassen, durch die Systemmanagement-Aufgaben erleichtert werden. Per Remoting ist es außerdem möglich, Skripte ortsunabhängig auf beliebig vielen Systemen gleichzeitig laufen zu lassen und diese dadurch zu verwalten, einzurichten, zu erfassen und zu reparieren.
Diese Vielfalt an Möglichkeiten und Funktionen offenbart auch, was die vorrangige Zielgruppe von Windows PowerShell ist: IT-Profis und Systemadministratoren, die über fundierte Kenntnisse im Umgang mit Shells verfügen und bereit sind, sich zugunsten der deutlich höheren Effizienz in die Windows PowerShell einzuarbeiten. Für Nutzer, die hauptsächlich mit der grafischen Benutzeroberfläche von Windows arbeiten und nur sporadisch auf die Eingabeaufforderung zurückgreifen, bietet PowerShell hingegen keinen besonderen Mehrwert, zumal der Zeitaufwand für die Einarbeitung recht hoch ist.
Im Folgenden fassen wir die Vor- und Nachteile von Windows PowerShell gegenüber der Eingabeaufforderung noch einmal übersichtlich zusammen: