Partager via


Nouveautés de PowerShell 7.5

PowerShell 7.5-rc.1 inclut les fonctionnalités, mises à jour et changements cassants suivants. PowerShell 7.5 repose sur la version en disponibilité générale .NET 9.0.100.

Pour obtenir la liste complète des changements, consultez CHANGELOG dans le dépôt GitHub.

Dernières modifications

  • Correction des paramètres -OlderThan et -NewerThan pour Test-Path lors de l’utilisation de PathType et de la plage de dates (#20942) (Merci à @ArmaanMcleod!)
    • Auparavant, -OlderThan était ignoré si les deux paramètres étaient spécifiés ensemble
  • Définition de 2 comme valeur par défaut de New-FileCatalog -CatalogVersion (#20428) (Merci à @ThomasNieto!)
  • Blocage de l’obtention d’aide à partir d’emplacements réseau dans les sessions de communication à distance restreintes (#20593)
  • Le programme d’installation se souvient désormais des options d’installation utilisées et les emploie pour initialiser les options de l’installation suivante (#20420) (Grâce à @reduckted!)
  • ConvertTo-Json sérialise maintenant BigInteger comme chiffre (#21000) (Grâce à @jborean93!)

Modules mis à jour

PowerShell 7.5-rc.1 inclut les modules mis à jour suivants :

  • Microsoft.PowerShell.PSResourceGet v1.1.0-RC2
  • PSReadLine v2.3.6

Amélioration de la saisie semi-automatique par tabulation

Un grand merci à @ArmaanMcleod et à tous les autres pour leur travail sur l’amélioration de la saisie semi-automatique via la touche Tab.

  • Retour à l’inférence de type lorsqu’il n’est pas possible de récupérer une clé-valeur de table de hachage à partir d’une expression sécurisée (#21184) (Grâce à @MartinGC94!)
  • Correction de la régression lors d’une opération d’inférence de type pour $_ (#21223) (Grâce à @MartinGC94!)
  • Développement de ~ jusqu’à $home sous Windows avec une saisie semi-automatique via la touche Tab (#21529)
  • Ne pas effectuer de saisie semi-automatique lors de la déclaration du membre de classe et du nom de paramètre (#21182) (Grâce à @MartinGC94!)
  • Empêchement du repli vers la saisie semi-automatique de fichier lors de la saisie semi-automatique des noms de types via la touche Tab (#20084) (Merci à @MartinGC94)
  • Ajout d’un d’argument de compléteur pour -Version Set-StrictMode (#20554) (Merci à @ArmaanMcleod!)
  • Ajout d’un d’argument de compléteur -Verb pour Get-Verb/ Get-Command et refactorisation de Get-Verb (#20286) (Merci à @ArmaanMcleod)
  • Ajout d’un d’argument de compléteur -Verb pour Start-Process (#20415) (Merci à @ArmaanMcleod)
  • Ajout d’un d’argument de compléteur -Scope pour les commandes *-Variable, *-Alias et *-PSDrive (#20451) (Merci à @ArmaanMcleod)
  • Ajouter de la saisie semi-automatique de -Module pour les commandes Save-HelpUpdate-Help/ (#20678) (Merci à @ArmaanMcleod)

Nouvelles applets de commande

  • Ajout des cmdlets ConvertTo-CliXml et ConvertFrom-CliXml (#21063) (Merci @ArmaanMcleod!)

Améliorations apportées aux cmdlets web

  • Correctif pour permettre à -PassThru et -Outfile de fonctionner ensemble (#24086) (Merci @jshigetomi!)
  • Ajout d’une propriété OutFile dans WebResponseObject (#24047) (Merci @jshigetomi!)
  • Affichage du nom de fichier dans Invoke-WebRequest -OutFile -Verbose (#24041) (Merci @jshigetomi!)
  • Correction de WebCmdlets quand -Body est spécifié, mais que ContentType ne l’est pas (#23952) (Merci @CarloToso!)
  • Correction de Invoke-WebRequest afin qu’il signale la taille correcte quand -Resume est spécifié (#20207) (Merci à @LNKLEO!)
  • Correction des cmdlets web pour permettre aux applications WinForm de fonctionner correctement (#20606)

Autres améliorations apportées aux applets de commande

  • Correctif de -NoRestart pour fonctionner avec Register-PSSessionConfiguration (#23891)
  • Ajout des options IgnoreComments et AllowTrailingCommas à la cmdlet Test-Json (#23817) (Merci @ArmaanMcleod!)
  • Get-Help peut signaler des paramètres avec l’attribut ValueFromRemainingArguments en tant que compatible pipeline (#23871)
  • Modification du type de LineNumber en ulong dans Select-String (#24075) (Merci @Snowman-25!)
  • Get-Process : suppression de l’exigence administrateur pour -IncludeUserName (#21302) (Grâce à @jborean93!)
  • Correction de Test-Path -IsValid pour la vérification de caractères de nom de fichier et de chemin d’accès incorrects (#21358)
  • Ajout de RecommendedAction dans ConciseView du signalement d’erreur (#20826) (Grâce à @JustinGrote!)
  • Barre de progression ajoutée pour la cmdlet Remove-Item (#20778) (Grâce à @ArmaanMcleod!)
  • Correction de Test-Connection due aux modifications de .NET 8 (#20369)
  • Correction du message d’erreur sans fin d’exécution Get-Service de façon à inclure la catégorie (#20276)
  • Ajout des paramètres -Empty et -InputObject à New-Guid (#20014) (Merci à @CarloToso!))
  • Ajout de l’alias r au paramètre -Recurse de la commande Get-ChildItem (#20100) (Merci à @kilasuit!)
  • Ajout de LP aux alias LiteralPath pour les fonctions qui en étaient dépourvues (#20820)
  • Ajout d’un secours de localisation implicite à Import-LocalizedData (#19896) (Merci à @chrisdent-de!)
  • Ajout de Aliases aux propriétés affichées lors de la mise en forme du contenu d’aide du paramètre retourné par Get-Help (#20994)
  • Ajout de HelpUri à Remove-Service (#20476)
  • Correction de l’incident de saisie semi-automatique pour le fournisseur SCCM (#20815, #20919, #20915) (Merci à @MartinGC94!)
  • Correction de la régression dans Get-Content lorsque -Tail 0 et -Wait sont utilisés ensemble (#20734) (Merci à @CarloToso!)
  • Correction de Start-Process -PassThru afin de veiller à ce que la propriété ExitCode soit accessible pour l’objet Process retourné (#20749) (Merci à @CodeCyclone!)
  • Correction de Group-Object afin qu’il utilise la culture actuelle pour sa sortie (#20608)
  • Correction de la sortie de Group-Object à l’aide de chaînes interpolées (#20745) (Merci à @mawosoft!)
  • Correction du rendu de DisplayRoot pour le réseau PSDrive (#20793)
  • Correction de la progression de Copy-Item de manière à afficher l’achèvement uniquement lorsque tous les fichiers sont copiés (#20517)
  • Correction de la régression de saisie semi-automatique du chemin UNC (#20419) (Merci à @MartinGC94!)
  • Signalement d’une erreur si un -ExecutionPolicy non valide est transmis à pwsh (#20460)
  • Ajouter les modules WinGetCommandNotFound et CompletionPredictor pour suivre l’utilisation (#21040)
  • Ajouter le paramètre DateKind à ConvertFrom-Json (#20925) (merci @jborean93!)
  • Ajouter DirectoryInfo dans le OutputType pour New-Item (#21126) (Merci @MartinGC94!)
  • Correction de Get-Error sérialisation de valeurs de tableau (#21085) (Merci @jborean93!)
  • Correction de Test-ModuleManifest afin qu’il puisse utiliser un chemin UNC (#24115)
  • Correction de Get-TypeData pour écrire dans le pipeline immédiatement au lieu de collecter les données d’abord (#24236) (Merci @MartinGC94)
  • Ajout d’un paramètre -Force aux cmdlets Resolve-Path et Convert-Path pour prendre en charge les fichiers masqués génériques #20981 (Merci @ArmaanMcleod!)

Améliorations apportées au moteur

  • Démarrage et arrêt explicite de la couleur d’erreur ANSI (#24065) (Merci @JustinGrote!)
  • Amélioration de la définition de surcharge .NET des méthodes génériques (#21326) (Merci @jborean93!)
  • Optimisation de l’opération += d’une collection lorsqu’il s’agit d’un tableau d’objets (#23901) (Merci @jborean93!)
  • Ajout de la télémétrie pour vérifier la présence de balises spécifiques lors de l’importation d’un module (#20371)
  • Ajout de PSAdapter et ConsoleGuiTools à la liste verte de télémétrie du module (#20641)
  • Ajout d’un module Winget pour le suivi de l’utilisation (#21040)
  • Vérification que le nom de fichier n’est pas nul lors de la journalisation des événements ETW WDAC (#20910) (Merci à @jborean93!)
  • Correction de quatre régressions introduites par la fonctionnalité de journalisation WDAC (#20913)
  • Laisser les handles d’entrée, de sortie et d’erreur non définis lorsqu’ils ne sont pas redirigés (#20853)
  • Correction des cmdlets de proxy de communication à distance implicites de façon à agir sur les paramètres communs (#20367)
  • Inclure la version du module dans les messages d’erreur lorsque le module est introuvable (#20144) (Merci à @ArmaanMcleod!)
  • Correction de unixmode pour gérer setuid et sticky quand le fichier n’est pas un exécutable (#20366)
  • Corriger en utilisant un assembly pour utiliser Path.Combine lors de la construction des chemin d’accès d’assembly (#21169)
  • Valider la valeur pour l’utilisation d’un espace de noms pendant des vérifications sémantiques pour empêcher de déclarer des espaces de noms invalides (#21162)
  • Gestion spéciale de l’outil global lors de l’ajout de $PSHome au début de PATH (#24228)

Fonctionnalités expérimentales

Les fonctionnalités expérimentales suivantes ont été converties en fonctionnalités standard dans PowerShell 7.5-rc.1 :

Les fonctionnalités expérimentales suivantes sont incluses dans PowerShell 7.5-rc.1 :