Presentamos PowerShell 7.0

¡Hoy nos complace anunciar el lanzamiento de la versión pública (GA)  de PowerShell 7.0 ! En primer lugar, nos gustaría agradecer a nuestros  numerosos colaboradores por hacer posible esta versión al compartir código, pruebas, documentación y comentarios sobre problemas. PowerShell 7 no hubiera sido posible sin su ayuda.



¿Qué es PowerShell 7?


Para principiantes, PowerShell 7 es la última actualización importante de PowerShell, una herramienta de automatización multiplataforma (Windows, Linux y macOS) e infraestructura de configuración optimizada para trabajar con datos estructurados (por ejemplo, JSON, CSV, XML, etc.), una API REST y modelos de objetos. PowerShell incluye un shell de línea de comandos, un lenguaje de script orientado a objetos y un conjunto de herramientas para ejecutar scripts / cmdlets y administrar módulos.

Hace tres años, anunciamos PowerShell Core 6 como una nueva versión de PowerShell. Basado en .NET Core, PowerShell Core introdujo soporte multiplataforma para Windows, macOS y Linux, PowerShell Remoting basado en SSH, soporte REST y JSON significativamente mejorado, contenedores Docker oficiales y mucho más. Además, esta fue la primera versión de PowerShell, creada bajo una licencia de código abierto (MIT), alentando a los entusiastas y principiantes de PowerShell a contribuir directamente al código fuente, las pruebas y la documentación.

Después de tres lanzamientos exitosos de PowerShell Core, estamos entusiasmados de ver PowerShell 7, el próximo capítulo en el desarrollo continuo de PowerShell. En PowerShell 7, además de los habituales muchos nuevos cmdlets / API y correcciones de errores, presentamos una serie de nuevas características, que incluyen:

  • Paralelización de tuberías con ForEach-Object-Parallel
  • Nuevos operadores:
    • Operador ternario: a? antes de Cristo
    • Operadores de la cadena de tuberías: || y &&
    • Declaraciones de fusión nula: ?? y ?? =
  • Visualización de errores simplificada y dinámica y el cmdlet Get-Error para investigar errores más fácilmente
  • Un nivel de compatibilidad que permite a los usuarios importar módulos en una sesión implícita de Windows PowerShell
  • Notificaciones de actualización automática
  • Capacidad para llamar a recursos DSC directamente desde PowerShell 7 (experimental)

Para obtener una lista más completa de características y correcciones, consulte  aquí .

Actualizar de PowerShell Core 6.xa 7.0 también significa actualizar de .NET Core 2.xa 3.1. .NET Core 3.1 recupera las numerosas API de .NET Framework (especialmente en Windows), proporcionando una compatibilidad con versiones anteriores significativamente mayor con los módulos existentes de Windows PowerShell. Esto incluye muchos módulos en Windows que requieren funcionalidad GUI como Out-GridView y Show-Command, así como muchos módulos de administración de roles que se envían como parte de Windows. Para obtener más información, consulte nuestra tabla de compatibilidad de módulos , que muestra cómo puede usar los módulos modernos más recientes que funcionan con PowerShell 7.

Si no ha podido usar PowerShell Core 6.x en el pasado debido a problemas de compatibilidad de módulos, ¡esta puede ser la situación cuando aprovecha algunas de las características que ya hemos proporcionado desde que comenzó el proyecto Core!

¡Frio! ¿Cómo obtener PowerShell 7?


Para comenzar, consulte la documentación de instalación para  WindowsmacOSLinux . Puede haber varios métodos de instalación según la versión de su sistema operativo y el formato de paquete preferido.

Si ya sabe qué hacer y solo está buscando un paquete binario (ya sea MSI, ZIP, RPM u otra cosa), vaya a nuestra última etiqueta de versión en GitHub .

Alternativamente, puede usar una de nuestras muchas imágenes de Docker . Para obtener más información sobre su uso, consulte nuestro repositorio PowerShell-Docker .

¿Qué sistemas operativos admite PowerShell 7?


PowerShell 7 es compatible con los  siguientes sistemas operativos  x64, que incluyen:

  • 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+
  • Alpine Linux 3.8+

Además, admitimos las versiones ARM32 y ARM64 de Debian y Ubuntu, así como ARM64 Alpine Linux.

Aunque no es oficialmente compatible, la comunidad también ha proporcionado paquetes para Arch y Kali Linux .

Si necesita soporte para una plataforma que no está en esta lista, envíe una solicitud de distribución a GitHub (aunque debe tenerse en cuenta que al final estamos limitados al hecho de que .NET Core 3.1 es compatible ).

Espera, ¿qué pasó con PowerShell "Core"?


Al igual que .NET con .NET 5 , creemos que PowerShell 7 marca el final de nuestro camino hacia la máxima compatibilidad con Windows PowerShell. En este sentido, creemos que PowerShell 7 y posterior es el único PowerShell compatible en el futuro.

PowerShell 7 continuará apareciendo en la edición Core para distinguir 6.x / 7.x de Windows PowerShell, pero en general verá que en el futuro se denominará "PowerShell 7".

¿Qué productos de Microsoft ya son compatibles con PowerShell 7?


Cualquier módulo que ya sea compatible con PowerShell Core 6.x también es compatible con PowerShell 7, incluidos:


En Windows, también agregamos el parámetro -UseWindowsPowerShell al Módulo de importación para simplificar la transición a PowerShell 7 para aquellos que usan módulos incompatibles. Esta opción crea un módulo proxy en PowerShell 7 que usa el proceso local de Windows PowerShell para ejecutar implícitamente cualquier cmdlets contenido en este módulo. Para obtener más información sobre esta función, consulte la documentación del Módulo de importación .

Para aquellos módulos que todavía son incompatibles, estamos trabajando con varios colegas para agregar soporte integrado para PowerShell 7, incluidos Microsoft Graph, Office 365 y otros.

Azure Cloud Shell ya se ha actualizado para usar PowerShell 7, mientras que otros, como las imágenes del contenedor Docker de .NET Core SDK yLas características de Azure se actualizarán pronto.

¿Que sigue?


Ya estamos trabajando duro en PowerShell 7.1, y puede esperar su primera vista previa en un futuro próximo, lleno de nuevas características y correcciones que no están incluidas en 7.0. Estén atentos para un blog de hoja de ruta más detallado que describe nuestra investigación actual y los deseos para 7.1.

Como se señaló anteriormente, también nos estamos moviendo a una frecuencia de lanzamiento anual para que coincida mejor con las versiones .NET y su ciclo de vida de soporte (los lanzamientos previos al lanzamiento continúan lanzándose aproximadamente cada mes).

All Articles