Desde Linux David Naranjo  

Liberada la nueva versión de PowerShell 7 con mejoras para Linux en .Net Core y más

PowerShell

Los desarrolladores de Microsoft dieron a conocer recientemente a través de una publicación de blog de Microsoft la liberación de la nueva versión final de PowerShell 7, la cual ya está disponible para Windows, macOS y Linux. Este último presenta nuevas características relacionadas con el soporte para .Net Core y los nuevos operadores.

PowerShell está optimizado para automatizar las operaciones de línea de comandos y proporciona herramientas integradas para procesar datos estructurados en formatos como JSON, CSV y XML, y también es compatible con API REST y modelos de objetos.

Además del shell de comandos, se ofrece un lenguaje orientado a objetos para scripts y un conjunto de utilidades para administrar módulos y scripts.

Comenzando con la rama PowerShell 6, el proyecto se ha desarrollado utilizando la plataforma .NET Core. De forma predeterminada, PowerShell transfiere telemetría con la descripción del sistema operativo y la versión del programa (para deshabilitar la telemetría, debe establecer la variable de entorno POWERSHELL_TELEMETRY_OPTOUT=1 antes de comenzar).

¿Que hay de nuevo en PowerShell 7?

En resumen, PowerShell 7 integra los siguientes cambios: migración de la versión de .Net Core 2.x a la nueva versión 3.1 e introducción de los operadores ternarios “a? b: c “, asignación y fusión cero”? y ?? = “.

Con la actualización de .Net Core 2.x a 3.1 introducida en esta nueva versión de PowerShell 7  se permite una mayor compatibilidad con los módulos PowerShell existentes para Windows.

“Si no ha podido usar PowerShell Core 6.x en el pasado debido a problemas de compatibilidad entre módulos, esta puede ser la primera vez que podrá aprovechar algunas de las excelentes funciones que ya hemos proporcionado. ¡Desde el inicio del proyecto PowerShell Core! “, Subraya Microsoft.

Agrega que:

” El pasaje de PowerShell Core 6.x a 7.0 también marca nuestro pasaje de .NET Core 2.x a 3.1.

NET Core 3.1 recupera una gran cantidad de API de .NET Framework (especialmente en Windows), lo que permite una compatibilidad mucho mayor con los módulos existentes de Windows PowerShell. Esto incluye muchos módulos de Windows que requieren funcionalidad GUI como Out-GridView y Show-Command, así como muchos módulos de administración de roles que se incluyen con Windows.

La lista completa de sistemas operativos compatibles se ofrece como variantes x64 de Windows 7, 8.1 y 10, Windows Server 2008 R2, 2012, 2012 R2, 2016 y 2019, macOS 10.13+, Red Hat Enterprise Linux (RHEL ) / CentOS 7+, Fedora 29+, Debian 9+, Ubuntu 16.04+, openSUSE 15+ y Alpine Linux 3.8+.

Los sabores Debian y Ubuntu ARM32 y ARM64 también son compatibles, al igual que ARM64 Alpine Linux. Microsoft afirma que, aunque no es oficialmente compatible, existen paquetes producidos por la comunidad para Arch y Kali Linux. PowerShell 7 está disponible para descargar desde GitHub y también hay documentación de instalación disponible para Windows, macOS y Linux.

Microsoft ya está mirando PowerShell 7.1, cuya primera vista previa se lanzará pronto. Hasta que volvamos a las nuevas características que hacen que PowerShell 7 sea especial:

  • .NET Core 3.1 (LTS)
  • Sobre de compatibilidad de Windows
  • notificación de nueva versión
  • nueva vista de error y cmdlet Get-Error
  • operadores de cadena de tuberías (&& y |||)
  • operador ternario (a? b: c)
  • operadores de asignación nula y coalescencia (??? y ?? =)
  • invoke-DscResource multiplataforma (experimental)
  • out-GridView, -ShowWindowWindow y otros cmdlets GUI están de vuelta en Windows

Finalmente si quieres conocer más al respecto puedes consultar los detalles en el siguiente enlace.

¿Cómo instalar PowerShell 7 en Linux?

Para quienes estén interesados en poder instalar esta nueva versión de PowerShell en su sistema, pueden obtener los paquetes preparados para las diferentes distribuciones de Linux desde el siguiente enlace.

Aun que de manera general pueden instalar la aplicación con ayuda de los paquetes de Snap, el único requisito es que tu sistema cuente con soporte para instalar este tipo de paquetes y tener el servicio instalado.

Para realizar la instalación basta con abrir una terminal y sobre ella ejecutar el siguiente comando:

snap install powershell --classic

Finalmente, en el caso de optar por los paquetes especialmente construidos para cada distribución.

La instalación la puedes hacer con tu gesto de paquetes o desde la terminal con dpkg (para paquetes deb o con rpm o dnf (para paquetes rpm).

Por ejemplo, en el caso de paquetes deb:

sudo dpkg -i powershell-7.0.0-1*.deb

En el caso de RPM en distribuciones en general con:

sudo rpm -i powershell-7.0.0-1*.rpm

O en el caso de Fedora o RHEL:

sudo dnf -i powershell-7.0.0-1*.rpm

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.