PowerShell es la consola de administración desarrollada por Microsoft con la cual se busca una administración centralizada de todos los aspectos del sistema tanto a nivel de hardware como de software. Ahora, en enero de este año, Microsoft ha liberado PowerShell Core 6.0 definida para los sistemas operativos Linux, Windows y macOS y además de un contenedor Docker con lo cual se amplían las posibilidades de gestionar muchos más comandos y opciones de control en el sistema.
- Ubuntu 14.04
- Ubuntu 16.04
- Ubuntu 17.10
- Ubuntu 18.04
- Debian 8
- Debian 9
- CentOS 7
- Red Hat Enterprise Linux (RHEL) 7
- OpenSUSE 42.3
- Fedora 27
- Fedora 28
- Arch Linux
- Kali
- Es posible usar las API os_log en Mac y Syslog en Linux.
- Se han presentado cambios en las versiones de macOS y Linux con el fin de soportar caracteres en los nombres de archivo que no eran admitidos en Windows
- Se ha añadido soporte para Docker.
- Se ha editado el nombre del ejecutable de powershell(.exe) a pwsh(.exe).
- Se ha estandarizado la sensibilidad a las mayúsculas y las minúsculas tanto en macOS y Linux.
- Se ha incluido soporte para instalaciones de lado a lado, facilitando la opción de validar nuevas versiones de PowerShell y migrar los scripts existentes.
- Retrocompatibilidad con Windows PowerShell.
- El protocolo PSRP (PowerShell Remoting Protocol) es compatible y funciona con SSH.
- Codificación de caracteres en UTF-8 por defecto sin usar Byte ***** Mark.
1. Instalar Snap en Ubuntu Linux
Antes de ejecutar el proceso de instalación de PowerShell, será necesario instalar Snap, para comprender un poco acerca de esto, Snap es un sistema de archivos squashFS en los cuales se alojan el código de la aplicación y un archivo snap.yaml. Éste contiene metadatos específicos, posee un sistema de archivos de solo lectura y, una vez instalado, un área de escritura.
Snap agrupa la mayoría de las bibliotecas y tiempos de ejecución necesarios y se puede actualizar y revertir sin afectar la distribución usada lo cual es ideal para usar sin que se vea perjudicado el óptimo funcionamiento del sistema. Snap puede intercambiar contenido y funciones con otras instantáneas en base a las políticas detalladas que son controladas por el usuario y los valores predeterminados del Sistema operativo.
Para instalar Snap, en este caso en Ubuntu 18.04, vamos a ejecutar lo siguiente:
sudo apt install snap
2. Instalar PowerShell con Snap en Ubuntu Linux
Una vez instalado Snap, podemos ir al centro de Software de Ubuntu y desde allí buscar PowerShell, obtendremos los siguientes resultados:
Allí contamos con la opción de instalar una versión estable de PowerShell o una versión previa la cual, como su nombre lo indica, es inestable. Si deseamos usar este método para instalar PowerShell, basta con pulsar sobre la opción deseada y en la ventana desplegada seleccionar “Instalar”:
Ahora, si deseamos realizar el proceso de instalación desde la terminal, podemos ejecutar el siguiente comando según sea necesario:
Versión estable: sudo apt-get install -y powershell Versión previa: sudo apt-get install -y powershell-preview
Versión estable: sudo yum install -y powershell Versión previa: sudo yum install -y powershell-preview
Versión estable: sudo zypper install powershell Versión previa: sudo zypper install powershell-preview
Versión estable: sudo dnf install -y powershell Versión previa: sudo dnf install -y powershell-preview
En este caso podemos usar el centro de software de Ubuntu y al pulsar en Instalar será necesario ingresar la contraseña de administrador:
Pulsamos en “Autenticar” e iniciará el proceso de instalación de PowerShell:
Para el caso de Ubuntu 18 podemos instalar PowerShell usando los siguientes comandos:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo curl -o /etc/apt/sources.list.d/microsoft.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list
sudo apt-get update
sudo apt-get install -y powershell-preview
pwsh-preview
Una vez finalice el proceso de instalación veremos lo siguiente:
3. Ejecutar PowerShell en Linux
Ahora, podemos lanzar PowerShell desde el botón “Iniciar” o bien ejecutar el siguiente comando en la terminal:
pwsh
Para obtener un listado general de los comandos disponibles de uso vamos a ejecutar el siguiente cmdlet:
Get-Command
Ahora será posible hacer uso de estos cmdlets para obtener información general en el sistema:
PowerShell en Linux está pensado para su uso con Azure, pero podemos ver que es una alternativa más para la administración general del sistema. Las rutas de administración de PowerShell en Linux son:
- $ PSHOME es /opt/microsoft/powershell/6.0.2/
- Los perfiles de usuario se leerán de ~/.config/powershell/profile.ps1
- Los perfiles predeterminados se leerán desde $PSHOME/profile.ps1
- Los módulos de usuario se leerán de ~/.local/share/powershell/Módulos
- Los módulos compartidos se leerán en /usr/local/share/powershell/Módulos
- Los módulos predeterminados se leerán desde $PSHOME/Módulos
- El historial de PSReadline se grabará en
~/.local/share/powershell/PSReadLine/ConsoleHost_history.txtHemos visto como PowerShell, siendo exclusivo de Microsoft, puede ser usada en Linux con propósitos de gestión centralizada y de esta manera extender más las capacidades de administración que podemos llevar a cabo en cada distribución compatible.
Aprovechemos lo que cada cmdlet de PowerShell nos brinda para su máximo beneficio.