17 jun 2020

PowerShell: un commit para liberarlos a todos

Muy buenas a todos, hoy queremos hablarles sobre una versión particular de PowerShell que hace tiempo que tenemos entre nosotros. Si bien sabemos que PowerShell fue desarrollada por Microsoft para su sistema operativo Windows, no todos conocen que existe una versión oficial libre, open source y multiplataforma llamada PowerShell Core.

Para dar un poco de contexto, podemos mencionar que el propio Microsoft define a PowerShell como “un marco de administración de configuración y automatización de tareas multiplataforma que consta de un shell de línea de comandos y un lenguaje de scripting”. Su primera versión fue lanzada a finales de 2006 para los sistemas operativos de esa época: Windows XP SP2, Windows Server 2003 SP1 y Windows Vista. A través de sus distintas versiones fue ganando popularidad y adeptos. Su éxito fue indiscutible gracias a la variedad de capacidades que ofrece. Su potencial deriva en que posee administración de módulos y además, al estar basado en .NET y considerar sus salidas como objetos, es posible acceder a métodos y propiedades de manera sencilla. Incluye comandos propios predefinidos, llamados cmdlets, como así también funciones que permiten tabular, filtrar, ordenar y formatear los resultados, entre otras posibilidades. Cuenta además con canales que pueden ser usados para pasar la salida de un comando al siguiente y de esta manera combinarlos para ampliar su potencial.

Pero es en 2016 cuando la novedad aparece, y es que Microsoft comienza a coquetear con la idea de lanzar su herramienta de manera open source, obteniendo su primer versión a inicios del 2018, basada en .NET Core 2.1 y bajo la licencia de MIT. A pesar de que esta nueva versión no ofrecía grandes cambios para los usuarios de las versiones anteriores, la gran novedad era que se podía instalar tanto en Windows como en Linux o en macOS. La crítica más grande que tuvo PowerShell Core es que no aportaba nuevas funcionalidades, es más, por cuestiones de compatibilidad poseía incluso menos funciones que su versión Desktop para Windows.

Es a principios de marzo de 2020 que los desarrolladores anuncian su decisión de unificar los proyectos (Windows PowerShell 5.1 y PowerShell Core 6.2) en una nueva versión llamada PowerShell v.7 desarrollada sobre .NET Core 3.1, la cual será totalmente libre, open source y multiplataforma.




Comparativa Tablas de Versiones entre v5.1 Desktop – v6.2 Core

Si bien se encuentra disponible para muchas versiones, podemos encontrar la lista de todos los sistemas operativos compatibles en la documentación oficial. Notar que en la lista no se encuentra Ubuntu 20.04.

Versiones de Linux compatibles con PowerShell 7

En cuanto al código, podemos encontrar en el repositorio github oficial un commit, con fecha 24 de marzo de este año, que podríamos considerar como una joya de la historia de PowerShell. En él, podemos ver que el único cambio realizado en los archivos es en relación a los derechos de código, abriendo el camino hacia un PowerShell unificado, libre, open source y multiplataforma, tal y como lo indica el título de este post ;-)


Captura de cambios introducidos en commit liberador

Es así que llegamos al final de esta linda historia que nos permite contar con esta interesante herramienta en nuestro sistema operativo preferido!

Y ustedes, le darán la oportunidad a PowerShell en sus Linux o MacOS?

Saludos


1 comentario:

  1. Muy bueno Mauro! Si fuera usuario de Windows definitivamente lo usaría. Mientras tanto, elijo quedarme con mi querida Unix style terminal de MacOS. Abrazo!

    ResponderEliminar