Ohne auf Werturteile über das Paradigma einzugehen, sind die Hauptvorteile von PowerShell die .NET-Integration und die Incumbency - ab Windows 2008 Server wird es standardmäßig gebündelt und in Service Packs auf 2003 und 2003 R2 geladen.
Um fair zu sein, gibt es mehrere andere Möglichkeiten für die Skripterstellung - zum Beispiel Perl und Python. Python bietet Ihnen auch die Möglichkeit, IronPython zu verwenden, wenn Sie eine native .NET-Integration wünschen. Tatsächlich wird IronPython zufriedenstellend installiert, indem es einfach in einem Verzeichnis abgelegt wird. Sie können es trivial in einer Anwendung bündeln, ohne dass ein separater Installationsschritt erforderlich ist.
Powershells Hauptstärke ist ein zweischneidiges Schwert. Während das Streamen von .net-Objekten sehr nützlich ist und seine Vorteile hat, werden viel mehr Annahmen über die Fähigkeit der Komponenten getroffen, mit dem Framework gut zu spielen. Damit dies wirklich funktioniert, müssen Sie die Dinge mit Cmdlets umschließen. Während die Textausgabe etwas niedriger ist und eine Analyse erfordert, werden die Komponenten weniger belastet, um mit dem Framework gut zu spielen.
Mit der Zeit würde ich erwarten, dass viel mehr Windows-Ökosysteme (sowohl MS- als auch Drittanbieter-Komponenten) mit Cmdlet-Wrappern geliefert werden, damit sie mit Powershell funktionieren. In diesem Fall wird der Fall für Powershell viel stärker.
In der Vergangenheit war eine der wichtigsten traditionellen Schwächen von Windows aus administrativer Sicht die schlechte Unterstützung von Skripten. MS hat dies vor einigen Jahren erkannt und nach einigen lahmen Versuchen (z. B. WSH) ist Powershell die bislang glaubwürdigste Anstrengung von MS, diesen Mangel zu beheben.