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
pourTest-Path
lors de l’utilisation dePathType
et de la plage de dates (#20942) (Merci à @ArmaanMcleod!)- Auparavant,
-OlderThan
était ignoré si les deux paramètres étaient spécifiés ensemble
- Auparavant,
- 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 maintenantBigInteger
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
pourGet-Verb
/Get-Command
et refactorisation deGet-Verb
(#20286) (Merci à @ArmaanMcleod) - Ajout d’un d’argument de compléteur
-Verb
pourStart-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 commandesSave-Help
Update-Help
/ (#20678) (Merci à @ArmaanMcleod)
Nouvelles applets de commande
- Ajout des cmdlets
ConvertTo-CliXml
etConvertFrom-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
dansWebResponseObject
(#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 queContentType
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 avecRegister-PSSessionConfiguration
(#23891) - Ajout des options
IgnoreComments
etAllowTrailingCommas
à la cmdletTest-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
enulong
dansSelect-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
dansConciseView
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 commandeGet-ChildItem
(#20100) (Merci à @kilasuit!) - Ajout de
LP
aux aliasLiteralPath
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é parGet-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’objetProcess
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éseauPSDrive
(#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 cmdletsResolve-Path
etConvert-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
etConsoleGuiTools
à 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érersetuid
etsticky
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 :
- PSRedirectToVariable - Autorise la redirection vers une variable (#20381)
- PSNativeWindowsTildeExpansion - Ajoute l’extension tilde pour les exécutables natifs Windows (#20402) (Merci @domsleee!)
- PSSerializeJSONLongEnumAsNumber -
ConvertTo-Json
traite désormais les énumérations volumineuses comme des nombres (#20999) (Merci @jborean93!)