29Aug

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

Puede ser muy frustrante cuando su profesor dice algo sobre PowerShell y varios sitios web parecen ofrecer pruebas sólidas de lo contrario.¿PowerShell realmente funciona en sistemas que no son de Windows o no? La publicación SuperUser Q & A de hoy tiene la respuesta a la pregunta desconcertada de un lector.

Pregunta de hoy &La sesión de respuesta nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web Q & A dirigida por la comunidad.

El lector de SuperSounds

de preguntas FredSavage187 quiere saber si PowerShell funciona en otros sistemas operativos además de Windows:

Recientemente, mi profesor de informática me hizo una prueba y una de las preguntas fue: "Verdadero o falso: PowerShell funciona en Windows, Mac yLinux ".La respuesta correcta fue "falsa" y sostiene que PowerShell es solo una cosa de Windows. Pero encontré un par de sitios web que dicen lo contrario:

PowerShell es de fuente abierta y está disponible en Linux [Microsoft Azure Blog]

Repositorio de PowerShell [GitHub]

¿Cuál de los dos es realmente correcto?¿Funciona PowerShell en Linux y Mac OS, así como en Windows?

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

La respuesta

SuperUser contribuidor 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. NET Framework. Para otros sistemas operativos, incluido Linux, puede usar CoreCLR, un subconjunto multiplataforma de código abierto de. NET Framework.

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

. Se podría argumentar que no todo PowerShell está disponible en entornos que no son de Windows, ya que algunas funciones dependen de bibliotecas que solo se encuentran en Windows. La propiedad ParsedHtml en el tipo HtmlWebResponseObject devuelta por Invoke-WebRequest , por ejemplo, solo es útil en Windows porque contiene un objeto COM que proviene de una biblioteca no administrada, mshtml.dll para ser específico. En otras plataformas, no hay nada allí.Y, por supuesto, existen cmdlets para administrar sistemas que solo se encuentran en Windows, como las aplicaciones modernas( Get-AppxPackage , por ejemplo).

Sin embargo, la infraestructura de PowerShell funciona perfectamente en otros sistemas operativos, muchos de los cmdlets se pueden usar en cualquier lugar y el soporte solo mejora.

¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios.¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Mira el hilo de discusión completo aquí.Créditos de imagen de

: Jeff Hicks( Base de conocimientos de TI de Petri)