/ Nov 13, 2026
Trending
Microsoft ha publicado la quinta vista previa de PowerShell 7.7, identificada como 7.7.0-preview.5 y construida sobre el runtime de .NET 11.0.0-rc.1. La build trae cambios que alteran el comportamiento de cmdlets muy utilizados, empezando por la forma en que New-Guid genera identificadores únicos, además de nuevas herramientas para gestionar carpetas temporales y rutas de archivo, y varias mejoras en el autocompletado con la tecla Tab.
Esta build llega tras las vistas previas anteriores de PowerShell 7.7 y actualiza dos módulos clave: Microsoft.PowerShell.PSResourceGet pasa a la v1.3.0-preview2 y PSReadLine se sitúa en la v2.4.5, dos piezas que afectan directamente a la gestión de paquetes y a la experiencia interactiva en la consola. El repositorio oficial en GitHub recoge el listado completo de cambios en su archivo CHANGELOG, documentado también en la página de novedades de Microsoft Learn.
El cambio de base en esta vista previa es el salto a .NET 11.0.0-rc.1, la primera release candidate del próximo runtime de Microsoft. Al apoyarse en una versión aún no definitiva, PowerShell empieza a validar la compatibilidad de sus cmdlets y módulos antes de que .NET 11 llegue a su versión final.
Para quienes gestionáis infraestructuras con PowerShell, esto implica que conviene probar vuestros scripts críticos en un entorno de pruebas antes de sustituir versiones anteriores, precisamente porque la base del runtime todavía puede cambiar. La combinación de .NET 11.0.0-rc.1 con los módulos actualizados, PSResourceGet v1.3.0-preview2 y PSReadLine v2.4.5, confirma que esta build sigue en fase de validación.
La vista previa también actualiza la telemetría de PowerShell para respetar la configuración de «Diagnóstico y comentarios» de Windows, un ajuste que forma parte de ese mismo proceso de adaptación al nuevo runtime. Microsoft no ha indicado todavía una fecha para la disponibilidad general de la rama 7.7, por lo que el calendario de salida definitivo queda abierto.
El cambio de comportamiento más relevante de esta vista previa afecta al cmdlet New-Guid. Por defecto, ahora genera identificadores UUID versión 7, que se pueden ordenar cronológicamente, en lugar de los UUID versión 4 completamente aleatorios que generaba hasta la versión anterior. El formato de salida no varía, así que los scripts que simplemente consumen el GUID como cadena de texto no notarán diferencia.
El problema aparece en los scripts que dependen de la aleatoriedad total del identificador, por ejemplo para generar tokens impredecibles o claves de sesión. Si vuestro código necesita esa propiedad, Microsoft recomienda invocar directamente [guid]::NewGuid() en lugar de confiar en el comportamiento por defecto del cmdlet. Este ajuste va acompañado de otro cambio en la validación de argumentos: las comprobaciones de valores nulos o vacíos, que antes lanzaban System.ArgumentException, ahora generan System.Management.Automation.PSArgumentNullException, lo que puede romper bloques try/catch que capturan el tipo de excepción anterior de forma explícita.
Esta vista previa añade el cmdlet New-TemporaryDirectory, que crea carpetas temporales de forma nativa sin recurrir a combinaciones manuales de variables de entorno y nombres aleatorios. Es una utilidad pequeña, pero resuelve una tarea que hasta ahora exigía escribir varias líneas de código repetidas en distintos scripts.
Join-Path estrena el parámetro -Extension, pensado para construir rutas de archivo completas sin necesidad de concatenar cadenas de texto manualmente. Los cmdlets de la familia Format- (Format-List, Format-Table y Format-Custom) incorporan además el parámetro -ExcludeProperty, útil para excluir campos concretos de la salida sin tener que filtrar antes con Select-Object.
Ir a la fuente
Author: David Onieva