Nouveautés de PowerShell 7.2
PowerShell 7.2 est la prochaine version de maintenance à long terme (LTS) basée sur .NET 6.0.
PowerShell 7.2 comprend les fonctionnalités, les mises à jour et les changements cassants suivants.
- Nouveaux packages d’installation universels pour la plupart des distributions Linux prises en charge
- Prise en charge de Microsoft Update sur Windows
- 2 nouvelles fonctionnalités expérimentales
- Amélioration de la prise en charge du passage d’argument de commande native
- Prise en charge des couleurs des informations de fichier ANSI FileInfo
- Amélioration de la saisie semi-automatique via la touche Tab
- PSReadLine 2.1 avec la fonctionnalité IntelliSense prédictive
- 7 fonctionnalités expérimentales promues en standard et 1 supprimées
- Séparation de DSC de PowerShell 7 pour permettre des améliorations futures
- Plusieurs changements majeurs pour améliorer l’utilisation
Pour obtenir la liste complète des modifications, consultez le Journal des modifications dans le référentiel GitHub.
Mises à jour d’installation
Consultez les instructions d’installation de votre système d’exploitation préféré :
De plus, PowerShell 7.2 prend en charge les versions ARM64 de Windows et macOS et ARM32 et ARM64 de Debian et Ubuntu.
Pour obtenir des informations à jour sur les systèmes d’exploitation pris en charge et le cycle de vie de support, consultez Cycle de vie du support de PowerShell.
Nouveaux packages d’installation universelle pour les distributions Linux
Auparavant, nous avons créé des packages d’installation distincts pour chaque version prise en charge de CentOS, RHEL, Debian et Ubuntu. Le package d’installation universel combine huit packages différents en un, ce qui simplifie l’installation sur Linux. Le package universel installe les dépendances nécessaires pour la distribution cible et crée les modifications spécifiques à la plateforme pour que PowerShell fonctionne.
Support Microsoft Update pour Windows
PowerShell 7.2 ajoute la prise en charge de Microsoft Update. Lorsque vous activez cette fonctionnalité, vous obtenez les dernières mises à jour de PowerShell 7 dans votre flux de gestion Windows Update (WU) traditionnel, que ce soit avec Windows Update pour Entreprises, WSUS, SCCM ou la boîte de dialogue WU interactive dans Paramètres.
Le package MSI PowerShell 7.2 inclut les options de ligne de commande suivantes :
USE_MU
- Cette propriété a deux valeurs possibles :1
(valeur par défaut) : opte pour la mise à jour via Microsoft Update ou WSUS0
- n’optez pas pour la mise à jour via Microsoft Update ou WSUS
ENABLE_MU
1
(par défaut) : opte pour l’utilisation de Microsoft Update pour les mises à jour automatiques ou Windows Update0
: n’optez pas pour l’utilisation de Microsoft Update pour les mises à jour automatiques ou Windows Update
Fonctionnalités expérimentales
Les fonctionnalités expérimentales suivantes sont désormais des fonctionnalités standard dans cette version :
-
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck
: consultez Import-PowerShellDataFile Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
-
PSAnsiRendering
: consultez about_ANSI_Terminals PSAnsiProgress
- voir à propos des terminaux ANSIPSCultureInvariantReplaceOperator
PSNotApplyErrorActionToStderr
PSUnixFileStat
La fonctionnalité expérimentale suivante a été ajoutée dans cette version :
PSNativeCommandArgumentPassing : lorsque cette fonctionnalité expérimentale est activée, PowerShell utilise la propriété argumentList de l’objet StartProcessInfo plutôt que notre mécanisme actuel de reconstruction d’une chaîne lors de l’appel d’un exécutable natif. Cette fonctionnalité ajoute une nouvelle variable automatique$PSNativeCommandArgumentPassing
qui vous permet de sélectionner le comportement au moment de l’exécution.PSAnsiRenderingFileInfo - Autoriser la personnalisation des couleurs ANSI des informations de fichier.
PSLoadAssemblyFromNativeCode : expose une API pour autoriser le chargement d’assembly à partir du code natif.
Pour plus d’informations sur les fonctionnalités expérimentales, consultez Using Experimental Features.
Amélioration de la saisie semi-automatique via la touche Tab
PowerShell 7.2 intègre plusieurs améliorations pour la saisie semi-automatique via la touche Tab. Ces modifications incluent les correctifs de bogues et améliorent la facilité d’utilisation.
- Correction de la complétion via la touche Tab pour les rubriques À propos* non localisées (#15265) (merci à @MartinGC94)
- Correction de la projection traitée en tant que paramètre positionnel dans les complétions (#14623) (merci à @MartinGC94)
- Ajoutez des complétions pour les mots-clés d'aide basés sur les commentaires (#15337) (Merci @MartinGC94))
- Ajout de la complétion pour les instructions Requires (#14596) (merci à @MartinGC94)
- Ajout de la complétion via la touche Tab pour le paramètre View des cmdlets Format-* (#14513) (merci à @iSazonov)
PSReadLine 2.1 avec IntelliSense prédictive
Introduction de PSReadLine 2.1 CommandPrediction
API pour établir une infrastructure en vue de fournir des prédictions pour la saisie semi-automatique de ligne de commande. L’API permet aux utilisateurs de découvrir, de modifier et d’exécuter des commandes complètes en fonction des prédictions correspondantes à partir de l’historique de l’utilisateur.
IntelliSense prédictif est désactivé par défaut. Pour activer les prédictions, exécutez la commande suivante :
Set-PSReadLineOption -PredictionSource History
Séparation de DSC de PowerShell 7 pour permettre des améliorations futures
Le module PSDesiredStateConfiguration a été supprimé du package PowerShell 7.2 et est maintenant publié dans PowerShell Gallery. Cela permet au module PSDesiredStateConfiguration d’être développé indépendamment de PowerShell et les utilisateurs peuvent combiner et faire correspondre les versions de PowerShell et PSDesiredStateConfiguration pour leur environnement. Pour installer PSDesiredStateConfiguration 2.0.5 à partir de PowerShell Gallery :
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
Important
Veillez à inclure le paramètre MaximumVersion ou vous pouvez installer la version 3 (ou ultérieure) de PSDesireStateConfiguration qui contient des différences significatives.
Mises à jour du moteur
- Ajouter la fonction
LoadAssemblyFromNativeMemory
pour charger des assemblies en mémoire à partir d’un hôte PowerShell natif par awakecoding · Pull request #14652
Dernières modifications et améliorations
- PsDesiredStateConfiguration a été supprimé du package PowerShell 7.2
- Rendre les packages PowerShell Linux deb et RPM universels (#15109)
- Fonctionnalité expérimentale
PSNativeCommandArgumentPassing
: Utiliser ArgumentList pour l’appel exécutable natif (#14692) - Vérifier que
-PipelineVariable
est défini pour toutes les cmdlets de script (#12766) - Émettre un avertissement si
ConvertTo-Json
dépasse la valeur -Depth (#13692) - Supprimer l’alias D du commutateur -Directory CL-General #15171
- Améliorer la détection des types de valeurs mutables (#12495)
- Restreindre
New-Object
en mode NoLanguage sous verrouillage (#14140) - Appliquer la configuration de refus AppLocker avant la configuration de contournement de la stratégie d’exécution (#15035)
- Remplacez
FileSystemInfo.Target
d’un CodeProperty par un AliasProperty qui pointe versFileSystemInfo.LinkTarget
(#16165)