PowerShell 7 Preview 5 lanzado, esto es lo nuevo
Microsoft está lanzando una nueva versión preliminar del lenguaje de scripting PowerShell de próxima generación. Los usuarios interesados pueden obtener la versión preliminar 5 de PowerShell 7. Contiene una serie de características nuevas y muchas correcciones de errores tanto de la comunidad como del equipo de PowerShell.
PowerShell es una forma avanzada de símbolo del sistema. Se amplía con un gran conjunto de cmdlets listos para usar y viene con la capacidad de usar .NET framework / C # en varios escenarios. Windows incluye una herramienta GUI, PowerShell ISE, que permite editar y depurar scripts de una manera útil.
PowerShell 7 es el primer paquete de lenguaje de scripting y shell de línea de comandos basado en .NET Core 3.0. Puede alcanzar compatibilidad con más del 90% de la bandeja de entrada de Windows Módulos de PowerShell aprovechando los cambios en .NET Core 3.0 que recuperan muchas API requeridas por los módulos creados en .NET Framework para que funcionen con .NET Core tiempo de ejecución.
Microsoft está a punto de lanzar una versión preliminar más el próximo mes de noviembre. Luego, salvo preocupaciones de calidad, un Release Candidate en diciembre se alineó con el .NET Core 3.1 lanzamiento final. Por último, esperan la disponibilidad general de PowerShell 7 en enero como su primera versión de mantenimiento a largo plazo.
Entre la versión candidata y la disponibilidad general, Microsoft solo aceptará correcciones de errores críticos y no se incluirán nuevas funciones. Para ese lanzamiento, algunos Funciones experimentales se considerará estable en el diseño y dejará de ser experimental. Esto significa que cualquier cambio de diseño futuro para esas características se considerará un cambio rotundo.
Nuevas funciones en la versión preliminar 5
Esta versión tiene una serie de características nuevas tanto de la comunidad como del equipo de PowerShell. Las versiones preliminares de PowerShell se pueden instalar en paralelo con versiones estables para que pueda usar ambas.
Operadores de cadena
El nuevo Operadores de cadena de oleoductos Permitir la ejecución condicional de comandos dependiendo de si el comando anterior tuvo éxito o falló. Esto funciona tanto con comandos nativos como con cmdlets o funciones de PowerShell. Antes de esta función, ya podía hacerlo mediante el uso de si
declaraciones junto con verificar si $?
indicó que la última declaración tuvo éxito o no. Este nuevo operador hace que esto sea más simple y consistente con otros shells.
Operadores condicionales nulos para fusión y asignación
A menudo, en sus scripts, es posible que deba verificar si una variable es $ null o si una propiedad es $ null antes de usarla. Los nuevos operadores condicionales nulos simplifican este proceso.
El nuevo ??
El operador de coalescencia nula elimina la necesidad de si
y demás
declaraciones si desea obtener el valor de una declaración si no es $ nulo o devolver algo más si es $ nulo. Tenga en cuenta que esto no reemplaza la verificación de un valor booleano de verdadero o falso, solo verifica si es $ null.
El nuevo ??=
El operador de asignación condicional nulo facilita la asignación de un valor a una variable solo si no es $ nulo.
Notificación de nueva versión de PowerShell
Usando la telemetría, el equipo ha descubierto que muchos usuarios están usando versiones obsoletas de PowerShell. A partir de PowerShell 7, la consola anunciará una nueva versión cuando esté disponible.
Más detalles de esta función, incluido cómo deshabilitarla en el Notificación sobre RFC de actualización de versión
Finalización de tabulación para asignación de variables
Esta nueva característica le permitirá usar la finalización de tabulación en la asignación de variables y obtener valores permitidos para enumeraciones o variables con restricciones de tipo como [ValidateSet ()]
. Esto hace que sea fácil de cambiar $ ErrorActionPreference
o el nuevo $ ErrorView
(detallado a continuación) a valores válidos sin tener que escribirlos.
Format-Hex formato mejorado
Esta mejora proviene de Joel Sallow haciendo Formato-Hex
más útil cuando se visualizan diferentes tipos de objetos en una canalización, además de admitir la visualización de más tipos de objetos.
Get-HotFix está de vuelta
los Get-HotFix
cmdlet solo funciona en Windows y consultará al sistema sobre qué parches se han instalado. Anteriormente, esto no estaba disponible en PowerShell Core 6 porque dependía de Sistema. Espacio de nombres de administración que no estaba disponible en .NET Core 2.x en el que se basa PowerShell Core 6.x. Sin embargo, .NET Core 3.0, en el que se basa PowerShell 7, devolvió este espacio de nombres (solo para Windows), por lo que volvimos a habilitar este cmdlet.
Hay un retraso en la obtención de resultados en este ejemplo debido a la cantidad de parches que el autor tiene en su máquina virtual con Windows 7.
Select-String agrega énfasis
Esto fue un HackIllinois proyecto por Derek Xia que utiliza texto de color inverso para resaltar el texto en una cadena que coincide con los criterios de selección. Hay un opcional -NoEnfasis
cambie para suprimir el énfasis.
ConciseView para errores
Algunos comentarios de los usuarios que hemos recibido constantemente se refieren a la cantidad de texto en rojo que recibe cuando encuentra un error en PowerShell.
los $ ErrorView
La variable de preferencia le permite cambiar el formato de los errores. Anteriormente, apoyaba Vista normal
(el predeterminado), así como una más concisa CategoryView
. Esta característica agrega un ConciseView
donde la mayoría de los comandos devuelven solo el mensaje de error relevante. En los casos en que hay información contextual adicional en un archivo de secuencia de comandos o la ubicación en una secuencia de comandos bloque, obtiene el número de línea, la línea de texto en cuestión y un puntero al lugar donde aparece el error ocurrió.
Esta nueva vista es parte de la Error de actualización Ver RFC así que envíe sus comentarios allí.
Cmdlet Get-Error
Tiempo ConciseView
le brinda información más precisa pero limitada sobre los errores, agregamos un nuevo cmdlet Get-Error
para obtener información mucho más rica sobre errores.
Por defecto, solo corriendo Get-Error
muestra una vista formateada del error más reciente, que incluye tipos anidados específicos como Excepciones y Registros de error, lo que facilita el diagnóstico de lo que salió mal.
Este nuevo cmdlet es parte del Error de actualización Ver RFC así que envíe sus comentarios allí.
PowerShell 7 está configurado para actualizarse mensualmente, por lo que los usuarios pueden esperar más versiones de vista previa del lenguaje de scripting antes de que alcance la disponibilidad general casi un mes después de .NET Core 3.0.
Además, vea el Notas de lanzamiento para conocer todos los detalles de lo que se incluye en este comunicado.
Fuente: Microsoft