Página principal » cómo » ¿PowerShell funciona en otros sistemas operativos además de Windows?

    ¿PowerShell funciona en otros sistemas operativos además de Windows?

    Puede ser muy frustrante cuando su profesor dice algo sobre PowerShell y parece que varios sitios web ofrecen pruebas sólidas de lo contrario. ¿Funciona realmente PowerShell en sistemas que no son Windows o no? La publicación de preguntas y respuestas del superusuario de hoy tiene la respuesta a la pregunta de un lector desconcertado.

    La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..

    La pregunta

    El lector SuperUser FredSavage187 desea saber si PowerShell funciona en otros sistemas operativos además de Windows:

    Mi profesor de ciencias de la computación recientemente nos hizo una prueba y una de las preguntas fue: "Verdadero o falso: PowerShell funciona en Windows, Mac y Linux". La respuesta correcta fue "falsa" y él sostiene que PowerShell es solo una cosa de Windows. Pero encontré un par de sitios web que dicen lo contrario:

    PowerShell es de código abierto y está disponible en Linux [Blog de Microsoft Azure]

    Repositorio de PowerShell [GitHub]

    ¿Cuál es realmente correcto? ¿PowerShell funciona en Linux y Mac OS, así como en Windows??

    ¿PowerShell funciona en otros sistemas operativos además de Windows??

    La respuesta

    El colaborador de Superusuario Ben N tiene la respuesta para nosotros:

    Sí. Gran parte de PowerShell es .NET, por lo que puede ejecutarse en cualquier sistema operativo que tenga Common Language Runtime (CLR). En Windows, ese es el .NET Framework. Para otros sistemas operativos, incluido Linux, puede usar CoreCLR, un subconjunto de código abierto y multiplataforma de .NET Framework.

    Como aprendió en el repositorio de PowerShell en GitHub, se admiten bastantes sistemas operativos y distribuciones. Por ejemplo, aquí están las instrucciones para Ubuntu y una demostración:

    Se podría argumentar que no todos los PowerShell están disponibles en entornos que no sean Windows, ya que algunas características dependen de las bibliotecas que solo se encuentran en Windows. los ParsedHtml propiedad en el HtmlWebResponseObject tipo devuelto por Invocar-WebRequest, por ejemplo, solo es útil en Windows porque contiene un objeto COM que proviene de una biblioteca no administrada, mshtml.dll ser especifico. En otras plataformas, no hay nada allí. Y, por supuesto, hay cmdlets para administrar sistemas que solo se encuentran en Windows, como las aplicaciones Modernas (Get-AppxPackage, por ejemplo).

    Sin embargo, aún así, la infraestructura de PowerShell funciona perfectamente bien en otros sistemas operativos, muchos de los cmdlets se pueden usar en cualquier lugar y el soporte solo está mejorando.


    ¿Tienes algo que agregar a la explicación? Apaga el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.

    Créditos de la imagen: Jeff Hicks (Petri IT Knowledgebase)