Novedades de PowerShell 7.2
PowerShell 7.2 es la próxima versión de mantenimiento a largo plazo (LTS) basada en .NET 6.0.
PowerShell 7.2 incluye las siguientes características, actualizaciones y cambios importantes.
- Nuevos paquetes de instalador universal para la mayoría de las distribuciones de Linux compatibles
- Soporte técnico de Microsoft Update en Windows
- 2 nuevas características experimentales
- Compatibilidad mejorada con el paso de argumentos de comandos nativos
- Compatibilidad con los colores de FileInfo ANSI
- Finalizaciones de pestañas mejoradas
- PSReadLine 2.1 con IntelliSense predictivo
- 7 características experimentales promocionadas a estándar y 1 quitadas
- Separación de DSC de PowerShell 7 para habilitar mejoras futuras
- Varios cambios importantes para mejorar la usabilidad.
Para obtener una lista completa de los cambios, consulte el registro de cambios
Actualizaciones de instalación
Compruebe las instrucciones de instalación de su sistema operativo preferido:
Además, PowerShell 7.2 admite versiones ARM64 de Windows y macOS y ARM32 y ARM64 de Debian y Ubuntu.
Para más información actualizada sobre los sistemas operativos compatibles y el ciclo de vida de soporte técnico, consulte Ciclo de vida de soporte técnico de PowerShell.
Nuevos paquetes de instalación universal para distribuciones de Linux
Anteriormente, creamos paquetes de instalador independientes para cada versión compatible de CentOS, RHEL, Debian y Ubuntu. El paquete del instalador universal combina ocho paquetes diferentes en uno, lo que simplifica la instalación en Linux. El paquete universal instala las dependencias necesarias para la distribución de destino y crea los cambios específicos de la plataforma para realizar el trabajo de PowerShell.
Compatibilidad de Microsoft Update con Windows
PowerShell 7.2 agrega compatibilidad con Microsoft Update. Al habilitar esta característica, obtendrá las actualizaciones más recientes de PowerShell 7 en el flujo de administración tradicional de Windows Update (WU), independientemente de si se trata de Windows Update para empresas, WSUS, SCCM o el cuadro de diálogo interactivo de WU en Configuración.
El paquete MSI de PowerShell 7.2 incluye las siguientes opciones de línea de comandos:
USE_MU
: esta propiedad tiene dos valores posibles:1
(valor predeterminado): opta por actualizar a través de Microsoft Update o WSUS0
: no participar en la actualización a través de Microsoft Update o WSUS
ENABLE_MU
1
(valor predeterminado): opta por usar Microsoft Update las actualizaciones automáticas o Windows Update0
: no opte por usar Microsoft Update, las actualizaciones automáticas ni Windows Update
Características experimentales
Las siguientes características experimentales ahora son características estándar en esta versión:
-
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck
: consulte Import-PowerShellDataFile Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
-
PSAnsiRendering
: consulte about_ANSI_Terminals PSAnsiProgress
: consulte sobre_terminales_ANSIPSCultureInvariantReplaceOperator
PSNotApplyErrorActionToStderr
PSUnixFileStat
En esta versión se agregó la siguiente característica experimental:
PSNativeCommandArgumentPassing : cuando esta característica experimental está habilitada, PowerShell usa la propiedad argumentListdel objeto StartProcessInfo en lugar de nuestro mecanismo actual de reconstruir una cadena al invocar un ejecutable nativo. Esta característica agrega una nueva variable automática$PSNativeCommandArgumentPassing
que permite seleccionar el comportamiento en tiempo de ejecución.PSAnsiRenderingFileInfo: permite la personalización de color ANSI de la información del archivo.
PSLoadAssemblyFromNativeCode: expone una API para permitir la carga de ensamblados desde código nativo.
Para obtener más información sobre las características experimentales, vea Using Experimental Features.
Finalizaciones de pestañas mejoradas
PowerShell 7.2 incluye varias mejoras en la finalización de pestañas. Estos cambios incluyen correcciones de errores y mejoran la facilidad de uso.
- Se ha corregido la finalización con tabulación para temas acerca de* no localizados (n.º 15265) (¡Gracias @MartinGC94)!)
- Se ha corregido la plataforma que se trata como parámetro posicional en las finalizaciones (n.º 14623) (¡Gracias @MartinGC94)!)
- Se han agregado finalizaciones para palabras clave de ayuda basadas en comentarios (n.º 15337) (¡Gracias @MartinGC94)!)
- Se ha agregado la finalización para instrucciones Requires (n.º 14596) (¡Gracias @MartinGC94)!)
- Se ha agregado la finalización con tabulación para el parámetro View de los cmdlets Format-* (n.º 14513) (¡Gracias @iSazonov)!)
IntelliSense predictivo de PSReadLine 2.1
PSReadLine 2.1 introdujo CommandPrediction
API que establecen un marco para proporcionar predicciones para la finalización de la línea de comandos. La API permite a los usuarios detectar, editar y ejecutar comandos completos en función de las predicciones coincidentes del historial del usuario.
El IntelliSense predictivo está deshabilitado por defecto. Para habilitar las predicciones, ejecute el siguiente comando:
Set-PSReadLineOption -PredictionSource History
Separación de DSC de PowerShell 7 para habilitar mejoras futuras
El módulo PSDesiredStateConfiguration se quitó del paquete de PowerShell 7.2 y ahora se publica en la Galería de PowerShell. Esto permite desarrollar el módulo PSDesiredStateConfiguration independientemente de PowerShell y los usuarios pueden mezclar y coincidir versiones de PowerShell y PSDesiredStateConfiguration para su entorno. Para instalar PSDesiredStateConfiguration 2.0.5 desde la Galería de PowerShell:
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
Importante
Asegúrese de incluir el parámetro MaximumVersion o podría instalar la versión 3 (o superior) de PSDesireStateConfiguration que contiene diferencias significativas.
Actualizaciones del motor
- Se ha agregado la función
LoadAssemblyFromNativeMemory
para cargar ensamblados en memoria desde un host nativo de PowerShell mediante la configuración dinámica. Solicitud de incorporación de cambios #14652
Cambios importantes y mejoras
- PsDesiredStateConfiguration se quitó del paquete de PowerShell 7.2
- Hacer que los paquetes deb y RPM de PowerShell Linux sean universales (15109)
- Característica experimental
PSNativeCommandArgumentPassing
: usar ArgumentList para la invocación ejecutable nativa (14692) - Asegúrese de que
-PipelineVariable
está establecido para todos los resultados de los cmdlets de script (#12766). - Emita una advertencia si el valor de
ConvertTo-Json
supera el valor de -Depth (#13692) - Eliminar alias D del interruptor -Directory CL-General #15171
- Mejora de la detección de tipos de valor mutable (12495)
- Se restringe
New-Object
en modo NoLanguage en bloqueo (#14140). - Se aplica la configuración de denegación de AppLocker antes de la configuración de omisión de la directiva de ejecución (#15035).
- Cambie
FileSystemInfo.Target
de CodeProperty a un AliasProperty que apunte aFileSystemInfo.LinkTarget
(16165)