Sin entrar en juicios de valor sobre el paradigma, las principales ventajas de PowerShell son la integración e incumbencia de .Net: desde el servidor de Windows 2008 en adelante, se incluye por defecto y se carga en paquetes de servicio en 2003 y 2003 R2.
Para ser justos, hay varias otras opciones para las secuencias de comandos, por ejemplo, Perl y Python. Python también le da la opción de usar IronPython si desea la integración nativa de .Net. De hecho, IronPython se instalará satisfactoriamente simplemente dejándolo caer en un directorio. Puede agruparlo trivialmente en una aplicación sin necesidad de un paso de instalación por separado.
La fuerza clave de Powershell es una espada de doble filo. Si bien la transmisión de objetos .net es bastante útil y tiene sus ventajas, supone muchas más suposiciones sobre la capacidad de los componentes para jugar bien con el marco. Para que esto realmente funcione, debe envolver las cosas con cmdlets. Si bien la salida de texto es de un nivel algo más bajo y requiere un análisis, coloca menos carga en los componentes para jugar bien con el marco.
Con el tiempo, esperaría ver mucho más del ecosistema de Windows (componentes de MS y de terceros) con envoltorios de cmdlet para que funcionen con Powershell. A medida que esto suceda, el caso de Powershell se volverá mucho más fuerte.
Históricamente, una de las principales debilidades tradicionales de Windows desde la perspectiva administrativa ha sido su escaso soporte de secuencias de comandos. MS lo reconoció hace varios años y después de algunos intentos fallidos (por ejemplo, WSH) Powershell es el esfuerzo más creíble de MS hasta ahora para solucionar esa deficiencia.