Compartir a través de


Novedades de PowerShell 7.6

PowerShell 7.6-preview.6 incluye las siguientes características, actualizaciones y cambios importantes. PowerShell 7.6 se basa en la versión de disponibilidad general de .NET 10.0.0.

Para obtener una lista completa de los cambios, consulte el CHANGELOG de en el repositorio de GitHub.

Módulos actualizados

PowerShell 7.6-preview.6 incluye los siguientes módulos actualizados:

  • Microsoft.PowerShell.PSResourceGet v1.2.0-preview5
  • PSReadLine v2.4.4-beta4
  • Microsoft.PowerShell.ThreadJob v2.2.0
  • ThreadJob v2.1.0

El nombre de ThreadJob se cambió al módulo Microsoft.PowerShell.ThreadJob . No hay ninguna diferencia en la funcionalidad del módulo. Para garantizar la compatibilidad con versiones anteriores de los scripts que usan el nombre antiguo, el módulo ThreadJob v2.1.0 es un módulo proxy que apunta a Microsoft.PowerShell.ThreadJob v2.2.0.

Últimos cambios

  • Corrección WildcardPattern.Escape para escapar las revisiones inversas correctamente (#25211) (gracias @ArmaanMcleod!)
  • Convierta el parámetro -ChildPath a string[] para el cmdlet Join-Path (#24677) (Gracias @ArmaanMcleod!)
  • Quitar el espacio final del nombre del origen del evento (24192) (gracias) @MartinGC94!)

Mejoras de finalización con tabulación

  • Expanda correctamente los alias a su ResolvedCommand real (#26571) (gracias @kilasuit!)).
  • Use el parámetro HelpMessage para la sugerencia de herramientas en la finalización de parámetros (25108) (gracias). @jborean93!)
  • Eliminación de módulos duplicados de los resultados de finalización (25538) (gracias) @MartinGC94!)
  • Agregar finalización para las variables asignadas en ArrayLiteralAst y ParenExpressionAst (25303) (gracias) @MartinGC94!)
  • Corrección de la finalización de tabulación para variables de env/function (#25346) (Gracias @jborean93!)
  • Se ha actualizado la inferencia de tipos de los bloques Named y Statement para no tener en cuenta los operadores AssignmentStatements y de aumento/disminución como parte de su salida (#21137) (Gracias @MartinGC94!))
  • Agregar -PropertyType completador de argumentos para New-ItemProperty (#21117) (gracias @ArmaanMcleod!))
  • Agregar compatibilidad con comillas simples o dobles de finalización para -Noun el parámetro Get-Command (#24977) (Gracias @ArmaanMcleod!)
  • Agregar compatibilidad con comillas simples o dobles de finalización para -PSEdition el parámetro Get-Module (#24971) (Gracias @ArmaanMcleod!)
  • Convertir InvalidCommandNameCharacters en AnalysisCache a SearchValues<char> para obtener una búsqueda de caracteres más eficaz (#24880) (gracias) @ArmaanMcleod!)
  • Convertir s_charactersRequiringQuotes en completadores automáticos a SearchValues<char> para búsquedas de caracteres más eficaces (#24879) (gracias @ArmaanMcleod!))
  • Actualizar las llamadas de IndexOfAny() con una ruta de acceso o nombre de archivo no válidos para mejorar la búsqueda de caracteres en SearchValues<char> ([#24896][24896]) (Gracias @ArmaanMcleod!)
  • Reemplazar la matriz char[] en CompletionRequiresQuotes por SearchValues<char> almacenado en caché (#24907) (Gracias @ArmaanMcleod!))
  • Agregar el control de comillas en Verb, StrictModeVersionScope y PropertyType Los completadores de argumentos con un único método auxiliar (#24839) (Gracias @ArmaanMcleod!)
  • Corrección de la finalización del recurso compartido con el proveedor y los espacios (#19440) (gracias @MartinGC94!)
  • Mejora de la inferencia de tipos de variable (19830) (gracias) @MartinGC94!)
  • Agregar información sobre herramientas para finalizaciones de clave hashtable (#17864) (gracias @MartinGC94!)
  • Corrección de la inferencia de tipos de parámetros en funciones clásicas (#25172) (gracias) @MartinGC94!)
  • Mejora de la inferencia de tipos de asignación (21143) (gracias) @MartinGC94!)
  • Excluir las asignaciones OutVariable dentro del mismo CommandAst al inferir variables (#25224) (Gracias a @MartinGC94!))
  • Corregir la finalización de parámetros cuando se produzca un error en los requisitos del script (#17687) (gracias). @MartinGC94!)
  • Mejora de la finalización de los argumentos de atributo (#25129) (gracias) @MartinGC94!)
  • Corrección de la finalización que se basa en la pseudobindificación en bloques de script (#25122) (gracias @MartinGC94!)
  • No complete los nombres de comando duplicados (#21113) (gracias). @MartinGC94!)
  • Agregar finalización para variables asignadas por redireccionamiento de comandos (#25104) (gracias) @MartinGC94!)
  • Corrección TypeName.GetReflectionType() para funcionar cuando la instancia TypeName representa una definición de tipo genérico dentro de GenericTypeName (#24985)
  • Actualice la finalización de la asignación de variables o propiedades para que pueda revertir a la inferencia de tipos (21134) (Gracias @MartinGC94!)
  • Manejar la inferencia de tipos para comandos redirigidos (#21131) (Gracias @MartinGC94!))
  • Utilice Get-Help para encontrar archivos about_*.help.txt con la configuración regional correcta para finalizaciones (#24194) (Gracias @MartinGC94!)
  • Corrección de la finalización de variables asignadas dentro de bucles Do (#25076) (Gracias @MartinGC94!)
  • Se ha corregido la finalización de las rutas de acceso del proveedor cuando una ruta de acceso se devuelve en lugar de sus elementos secundarios (#24755) (Gracias @MartinGC94!)
  • Permitir la finalización de variables de ámbito sin especificar el ámbito (#20340) (Gracias @MartinGC94!)
  • Se ha corregido un problema con resultados incompletos al completar rutas de acceso con caracteres comodín en proveedores que no son del sistema de archivos (#24757) (Gracias @MartinGC94!)

Mejoras de cmdlet

  • Agregar -Delimiter parámetro a Get-Clipboard (26572) (gracias) @MartinGC94!)
  • Corrija Out-GridView reemplazando el uso de BinaryFormatter obsoleto por la implementación personalizada (25497) (gracias). @mawosoft!)
  • Mejora de los mensajes de registro detallados y de depuración en los niveles de registro de cmdlets web (#25510) (Gracias) @JustinGrote!)
  • Mejorar el registro de depuración de la solicitud y respuesta del cmdlet web (#25479) (gracias @JustinGrote!)
  • Añada el parámetro Register-ArgumentCompleter -NativeFallback para admitir el registro de un completor general para comandos nativos (#25230)
  • Tratar -Target como literal en New-Item (#25186) (gracias @GameMicrowave!))
  • Actualizar la variable de entorno PATH para el ejecutable del administrador de paquetes en Windows (25847)
  • Actualice Get-Service para omitir los errores comunes al recuperar propiedades no críticas para un servicio (#24245) (gracias). @jborean93!)
  • Agregar compatibilidad con comillas simples y dobles para Join-String Argument Completer (#25283) (Gracias @ArmaanMcleod!)
  • Quitar IsScreenReaderActive() comprobación de ConsoleHost (#26118)
  • Mejora de la compatibilidad con expresiones $using en Invoke-Command (24025) (gracias) @jborean93!)
  • Cambie el tiempo de espera predeterminado del proveedor de comentarios de 300 ms a 1000 ms (25910)
  • Agregar compatibilidad con separadores de miles en la [bigint] conversión (#25396) (gracias a @AbishekPonmudi!))
  • Agregar MethodInvocation traza para el rastreo de sobrecargas (#21320) (Gracias @jborean93!)
  • Corrección ConvertFrom-Json para omitir los comentarios dentro de los literales de matriz (#14553) (#26050) (Gracias @MatejKafka!)
  • Corregir -Debug para no desencadenar el ShouldProcess prompt (#26081)
  • Corregir Write-Host para respetar OutputRendering = PlainText (#21188)
  • Corrección del error de seguimiento de depuración con extensiones mágicas (#25726) (gracias) @jborean93!)
  • Corregir la comillas en la finalización si la ruta de acceso incluye un carácter de comilla doble (#25631) (Gracias @MartinGC94!)
  • Corrección del parámetro -ProgressAction común para funciones avanzadas (#24591) (gracias) @cmkb3!)
  • Corrige el NullReferenceException al escribir registros de progreso en la consola desde varios subprocesos (#25440) (Gracias @kborowinski!))
  • Usar la ruta de acceso absoluta en FileSystemProvider.CreateDirectory (#24615) (Gracias), @Tadas!)
  • Hacer que los miembros de instancia internos protegidos heredados sean accesibles en el ámbito de la clase de PowerShell (#25245) (gracias) @mawosoft!)
  • Agregar métodos internos para comprobar preferencias (#25514) (gracias) @iSazonov!)
  • Agregar -ExcludeModule parámetro a Get-Command (18955) (gracias) @MartinGC94!)
  • Devuelve la propiedad FileName correcta para Get-Item cuando se enumeran flujos de datos alternativos (#18019) (gracias) @kilasuit!)
  • Corrección Get-ItemProperty para notificar un error de no terminación para la excepción de conversión (#21115) (Gracias @ArmaanMcleod!)
  • Se ha corregido un error en el modo en que q controla el objeto XmlNode (#24669) (gracias). @brendandburns!)
  • Error cuando New-Item -Force se pasa un nombre de directorio no válido (#24936) (gracias) @kborowinski!)
  • Permitir que Start-Transcript use $Transcript, que es una cadena ajustada PSObject, para especificar la ruta de la transcripción (#24963) (Gracias @kborowinski!)
  • Mejorar la eficiencia del sondeo (Start-Process -Wait) (Gracias
  • Se ha añadido la finalización de módulos por su nombre corto (#20330) (Gracias @MartinGC94!))

Mejoras del motor

  • Corrección de una regresión en la API CompletionCompleters.CompleteFilename() que provoca una excepción de referencia nula (26487)
  • Cierre los identificadores del cliente de canalización después de crear el proceso ssh secundario (#26564)
  • Actualice el módulo PSDiagnostics para administrar el proveedor de PowerShellCore en PowerShell 7 (25590)
  • Permitir excluir la escucha de canalizaciones nombradas mediante la variable de entorno POWERSHELL_DIAGNOSTICS_OPTOUT (#26086)
  • Asegúrese de que los tiempos de espera de socket se establecen solo durante la validación del token (26066)
  • Se ha corregido stderr la salida del host de consola para respetar NO_COLOR (24391)
  • Actualice el protocolo PSRP para dejar de usar el intercambio de claves de sesión entre el cliente y el servidor más recientes (25774)
  • Corrija la comprobación ssh PATH en SSHConnectionInfo cuando el espacio de ejecución predeterminado no está disponible (#25780) (gracias @jborean93!)).
  • Agregar formato hexadecimal para códigos de salida de comandos nativos (#21067) (gracias) @sba923!)
  • Corrección del bloqueo de bucle infinito en la inferencia de tipo variable (25696) (gracias) @MartinGC94!)
  • Agregar PSForEach y PSWhere como alias para los métodos intrínsecos Where de PowerShell y Foreach (25511) (gracias) @powercode!)
  • Se ha agregado el módulo aiShell a la lista de recopilación de telemetría (#24747)
  • Se ha agregado una función auxiliar en EnumSingleTypeConverter para obtener los nombres de enumeración como un array (#17785) (Gracias @fflaten!)
  • Actualice DnsNameList para X509Certificate2 para usar el X509SubjectAlternativeNameExtension.EnumerateDnsNames() método (#24714) (gracias) @ArmaanMcleod!)
  • Stringify ErrorRecord with empty exception message to empty string (#24949) (Gracias @MatejKafka!)
  • Agregue PipelineStopToken al Cmdlet que se indicará cuando la canalización se detenga (#24620) (gracias). @jborean93!)
  • Reversión a AppLocker después de WldpCanExecuteFile (#24912)
  • Mover el registro de invocación de métodos de .NET a después de que se realice la conversión de tipos necesaria para los argumentos del método (#25022)
  • Corrección del bucle infinito en la inferencia de tipo variable (#25206) (gracias) @MartinGC94!)
  • Elimine la sugerencia aproximada antigua y corrija la sugerencia de nombre de archivo de guion local (#25177)
  • Hacer SystemPolicy que las APIs públicas sean visibles pero no operativas en plataformas Unix para que se puedan incluir en PowerShellStandard.Library (#25051)
  • Establecer identificadores estándar explícitamente al iniciar un proceso con -NoNewWindow (25061)
  • Corrección de la información sobre herramientas para la expansión de variables e incluir desc (#25112) (gracias @jborean93!)
  • Use la ruta de acceso de archivo de script al completar rutas de acceso relativas para usar instrucciones (#20017) (gracias @MartinGC94!)
  • Permitir el análisis de DSC a través de capas de traducción de arquitectura del sistema operativo (#24852) (gracias) @bdeb1337!)

Características experimentales

PowerShell 7.6-preview.6 incluye los siguientes cambios en las características experimentales.

Las siguientes características se han convertido en características estándar:

Esta versión incluye las siguientes características experimentales: