Contents

Cómo instalar PowerShell Core y PowerCLI en Linux

Si bien PowerShell empezó siendo un producto exclusivo para Windows, con el acercamiento de Microsoft al Sofware Libre de los últimos tiempos pasó a ser compatible en plataformas GNU/Linux y MacOS en su versión Core. En la entrada de hoy veremos cómo instalar PowerShell Core en Linux y le añadiremos el módulo de PowerCLI para administrar productos de VMware desde el sistema operativo del pingüino.

¿Qué es PowerShell Core?

En este momento existen dos versiones de PowerShell disponibles. Una es Windows PowerShell, la shell clásica de PowerShell que viene acompañando a las últimas versiones de los sistemas operativos de Microsoft, y la otra es PowerShell Core una “nueva” versión de la shell orientada a sistemas multiplataforma.

La diferencia más grande entre las dos versiones es la de la versión de .NET sobre la que se basan, siendo la Standard en Windows PowerShell y la Core en PowerShell Core. Debido a este cambio PowerShell Core gana la capacidad de multiplataforma pero pierde funcionalidad sólo soportada en .NET Standard:

  • WorkFlows.
  • Snap-ins.
  • Cmdlets de WMIv1 (como Get-WmiObject o Invoke-WmiMethod).
  • Ejecución de recursos de Desired State Configuration (DSC).

Podéis consultar una lista de las diferencias en este post de Microsoft.

Instalar PowerShell Core en Linux

Ahora que ya sabemos las virtudes y limitaciones de PowerShell Core podemos ponernos a instalarlo. Hace unos días saltaba la notícia de que la instalación de PowerShell Core se podía hacer a través de paquetes Snap.

Los paquetes Snap nos aportan varias cosas interesantes:

  • Una forma unitaria de instalar el paquete en todas las distribuciones que soportan Snap.
  • Las aplicaciones incorporan sus propias librerías, por lo que no tendremos que enfrentarnos a problemas de librerías compartidas.
  • Las aplicaciones corren de forma aislada las unas de las otras.

Por lo que, una vez instalado Snap en nuestro sistema podemos proceder a instalar PowerShell Core con un simple:

1
snap install powershell --classic

Si el tema de instalar el paquete mediante Snap no nos gusta o no es compatible con nuestra distribución siempre podemos hacerlo al modo tradicional mendiante nuestro gestor de paquetes con las instrucciones de Microsoft.

Primeros pasos con PowerShell Core

Lo primero que debemos saber es que el ejecutable de PowerShell Core no es el mismo que el de Windows PowerShell. En este último el ejecutable era powershell.exe, en cambio para ejecutar PowerShell Core nos valdremos de pwsh (pwsh.exe en Windows).

/wp-content/uploads/2018/07/PowerShell-Core.png
Instalar PowerShell Core

Como podemos ver, al iniciar pwsh se nos muestra la versión que tenemos instalada de PowerShell (en este caso 6.0.3) y el prompt de nuestra máquina cambia al mismo que solemos encontrarnos en Windows PowerShell.

Y podemos probar a ejecutar algún comando conocido como Get-Process:

/wp-content/uploads/2018/07/Get-Process-PowerShell-Core.png
Get-Process PowerShell Core

Instalar PowerCLI en Linux

La instalación de PowerCLI en Linux, a decir verdad, no cambia en nada a la de Windows una vez tenemos instalado PowerShell Core. Aún con nuestra consola de pwsh abierta, podemos buscar el módulo de PowerCLI con Find-Module e instalarlo con Install-Module:

/wp-content/uploads/2018/07/Instalar-PowerCLI-en-Linux.png
Instalar PowerCLI en Linux

Tras la instalación podremos ver que tenemos a nuestra disposición todos los comandos de PowerCLI y ya estaremos listos para conectarnos a nuestra infraestructura:

/wp-content/uploads/2018/07/Post-instalación-PowerShell-Core-Linux.png
Post instalación PowerShell Core Linux