Nouveautés de PowerShell 7.0What's New in PowerShell 7.0

PowerShell 7.0 est une édition de multiplateforme open source (Windows, macOS et Linux) conçue pour gérer des environnements hétérogènes et le cloud hybride.PowerShell 7.0 is an open-source, cross-platform (Windows, macOS, and Linux) edition of PowerShell, built to manage heterogeneous environments and hybrid cloud.

Dans cette version, nous présentons plusieurs fonctionnalités, notamment les suivantes :In this release, we're introducing a number of new features, including:

  • Parallélisation de pipeline avec ForEach-Object -ParallelPipeline parallelization with ForEach-Object -Parallel
  • Nouveaux opérateurs :New operators:
    • Opérateur ternaire : a ? b : cTernary operator: a ? b : c
    • Opérateurs de chaîne de pipeline : || et &&Pipeline chain operators: || and &&
    • Opérations conditionnelles Null : ?? et ??=Null conditional operators: ?? and ??=
  • Un affichage des erreurs simplifié et dynamique ainsi qu’une cmdlet Get-Error pour étudier plus facilement les erreursA simplified and dynamic error view and Get-Error cmdlet for easier investigation of errors
  • Une couche de compatibilité qui permet aux utilisateurs d’importer des modules dans une session Windows PowerShell impliciteA compatibility layer that enables users to import modules in an implicit Windows PowerShell session
  • Notifications automatiques en cas de nouvelles versionsAutomatic new version notifications
  • La possibilité d’appeler des ressources DSC directement à partir de PowerShell 7 (stade expérimental)The ability to invoke DSC resources directly from PowerShell 7 (experimental)

Pour afficher une liste complète des fonctionnalités et des correctifs, consultez les journaux des modifications.To see a full list of features and fixes, see the changelogs.

Où puis-je installer PowerShell ?Where can I install PowerShell?

PowerShell 7 prend actuellement en charge les systèmes d’exploitation suivants sur x64, notamment :PowerShell 7 currently supports the following operating systems on x64, including:

  • Windows 8.1 et 10Windows 8.1, and 10
  • Windows Server 2012, 2012 R2, 2016 et 2019Windows Server 2012, 2012 R2, 2016, and 2019
  • macOS 10.13+macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Fedora 30+Fedora 30+
  • Debian 9Debian 9
  • Ubuntu LTS 16.04+Ubuntu LTS 16.04+
  • Alpine Linux 3.8+Alpine Linux 3.8+

En outre, PowerShell 7.0 prend en charge les versions ARM32 et ARM64 de Debian, Ubuntu et ARM64 Alpine Linux.Additionally, PowerShell 7.0 supports ARM32 and ARM64 flavors of Debian, Ubuntu, and ARM64 Alpine Linux.

Consultez les instructions d’installation pour votre système d’exploitation par défaut Windows, macOS ou Linux.Check the installation instructions for your preferred operating system Windows, macOS, or Linux.

Bien qu’ils ne soit pas officiellement pris en charge, la communauté a également fourni des packages pour Arch et Kali Linux.While not officially supported, the community has also provided packages for Arch and Kali Linux.

Notes

Debian 10 et CentOS 8 ne prennent actuellement pas en charge la communication à distance WinRM.Debian 10 and CentOS 8 currently do not support WinRM remoting. Pour plus d’informations sur la configuration de la communication à distance basée sur SSH, consultez Communication à distance PowerShell via SSH.For details on setting up SSH-based remoting, see PowerShell Remoting over SSH.

Pour plus d’informations à jour sur les systèmes d’exploitation pris en charge et le cycle de vie de support, consultez le cycle de vie du support PowerShell.For more up-to-date information about supported operating systems and support lifecycle, see the PowerShell Support Lifecycle.

Exécution de PowerShell 7Running PowerShell 7

PowerShell 7 s’installe dans un répertoire distinct de Windows PowerShell.PowerShell 7 installs to a directory seperately from Windows PowerShell. Cela vous permet d’exécuter PowerShell 7 côte à côte avec Windows PowerShell 5.1.This enables you to run PowerShell 7 side-by-side with Windows PowerShell 5.1. Pour PowerShell Core 6.x, PowerShell 7 est une mise à niveau sur place qui supprime PowerShell Core 6.x.For PowerShell Core 6.x, PowerShell 7 is an in-place upgrade that removes PowerShell Core 6.x.

  • PowerShell 7 est installé sur %programfiles%\PowerShell\7PowerShell 7 is installed to %programfiles%\PowerShell\7
  • Le dossier %programfiles%\PowerShell\7 est ajouté à $env:PATHThe %programfiles%\PowerShell\7 folder is added to $env:PATH

Le package d’installation PowerShell 7 met à niveau les versions précédentes de PowerShell Core 6.x :The PowerShell 7 installer package upgrades previous versions of PowerShell Core 6.x:

  • PowerShell Core 6.x sur Windows : %programfiles%\PowerShell\6 est remplacé par %programfiles%\PowerShell\7PowerShell Core 6.x on Windows: %programfiles%\PowerShell\6 is replaced by %programfiles%\PowerShell\7
  • Linux : /opt/microsoft/powershell/6 est remplacée par /opt/microsoft/powershell/7Linux: /opt/microsoft/powershell/6 is replaced by /opt/microsoft/powershell/7
  • macOS : /usr/local/microsoft/powershell/6 est remplacée par /usr/local/microsoft/powershell/7macOS: /usr/local/microsoft/powershell/6 is replaced by /usr/local/microsoft/powershell/7

Notes

Dans Windows PowerShell, l’exécutable permettant de lancer PowerShell est nommé powershell.exe.In Windows PowerShell, the executable to launch PowerShell is named powershell.exe. Dans la version 6 et les versions ultérieures, le nom de l’exécutable est modifié pour prendre en charge l’exécution côte à côte.In version 6 and above, the executable name is changed to support side-by-side execution. Le nouveau nom de l’exécutable permettant de lancer PowerShell 7 est pwsh.exe.The new executable name to launch PowerShell 7 is pwsh.exe. Les builds préliminaires sont conservées en tant que pwsh-preview au lieu de pwsh sous le répertoire 7-préversion.Preview builds remain in-place as pwsh-preview instead of pwsh under the 7-preview directory.

Compatibilité descendante avec Windows PowerShell amélioréeImproved backwards compatibility with Windows PowerShell

PowerShell 7.0 marque un passage à .NET Core 3.1, ce qui permet d’améliorer significativement la compatibilité descendante avec les modules Windows PowerShell existants.PowerShell 7.0 marks a move a to .NET Core 3.1, enabling significantly more backwards compatibility with existing Windows PowerShell modules. Ceci inclut de nombreux modules sur Windows qui nécessitent une fonctionnalité GUI comme Out-GridView et Show-Command, ainsi que de nombreux modules de gestion des rôles fournis avec Windows.This includes many modules on Windows that require GUI functionality like Out-GridView and Show-Command, as well as many role management modules that ship as part of Windows.

Pour Windows, un nouveau paramètre de commutateur UseWindowsPowerShell est ajouté à Import-Module.For Windows, a new switch parameter UseWindowsPowerShell is added to Import-Module. Ce commutateur crée un module proxy dans PowerShell 7, qui utilise un processus Windows PowerShell local pour exécuter implicitement toutes les cmdlets contenues dans ce module.This switch creates a proxy module in PowerShell 7 that uses a local Windows PowerShell process to implicitly run any cmdlets contained in that module. Pour plus d’informations sur Import-Module.For more information on Import-Module.

Pour plus d’informations sur les modules Microsoft fonctionnant avec PowerShell 7.0, consultez le tableau de compatibilité des modules.For more information on which Microsoft modules work with PowerShell 7.0, see the Module Compatibility Table.

Exécution parallèle ajoutée à ForEach-ObjectParallel execution added to ForEach-Object

La cmdlet ForEach-Object, qui itère des éléments dans une collection, dispose maintenant d’un parallélisme intégré avec le nouveau paramètre Parallèle.The ForEach-Object cmdlet, which iterates items in a collection, now has built-in parallelism with the new Parallel parameter.

Par défaut, les blocs de scripts parallèles utilisent le répertoire de travail actuel de l’appelant qui a démarré les tâches parallèles.By default, parallel script blocks use the current working directory of the caller that started the parallel tasks.

Dans cet exemple, 50 000 entrées de 5 journaux système sont récupérées sur un ordinateur local Windows :This example retrieves 50,000 log entries from 5 system logs on a local Windows machine:

$logNames = 'Security','Application','System','Windows PowerShell','Microsoft-Windows-Store/Operational'

$logEntries = $logNames | ForEach-Object -Parallel {
    Get-WinEvent -LogName $_ -MaxEvents 10000
} -ThrottleLimit 5

$logEntries.Count

50000

Le paramètre Parallèle spécifie le bloc de script exécuté en parallèle pour chaque nom du journal d’entrée.The Parallel parameter specifies the script block that is run in parallel for each input log name.

Le nouveau paramètre ThrottleLimit limite le nombre de blocs de scripts exécutés en parallèle à un moment donné.The new ThrottleLimit parameter limits the number of script blocks running in parallel at a given time. La valeur par défaut est 5.The default is 5.

Utilisez la variable $_ pour représenter l'objet d’entrée actuel dans le bloc de script.Use the $_ variable to represent the current input object in the script block. Utilisez l’étendue $using: pour transférer des références de variable vers le bloc de script en cours d’exécution.Use the $using: scope to pass variable references to the running script block.

Pour plus d’informations sur ForEach-Object.For more information about ForEach-Object.

Opérateur ternaireTernary operator

PowerShell 7.0 introduit un opérateur ternaire qui se comporte comme une instruction if-else simplifiée.PowerShell 7.0 introduces a ternary operator which behaves like a simplified if-else statement. L’opérateur ternaire de PowerShell est étroitement modélisé à partir de la syntaxe C# de l’opérateur ternaire :PowerShell's ternary operator is closely modeled from the C# ternary operator syntax:

<condition> ? <if-true> : <if-false>

L’expression de condition est toujours évaluée et son résultat est converti en booléenne pour déterminer la prochaine branche à évaluer :The condition-expression is always evaluated and its result converted to a Boolean to determine which branch is evaluated next:

  • L’expression <if-true> est exécutée si l’expression <condition> a la valeur trueThe <if-true> expression is executed if the <condition> expression is true
  • L’expression <if-false> est exécutée si l’expression <condition> a la valeur falseThe <if-false> expression is executed if the <condition> expression is false

Par exemple :For example:

$message = (Test-Path $path) ? "Path exists" : "Path not found"

Dans cet exemple, si le chemin existe, Le chemin existe s’affiche.In this example, if the path exists, then Path exists is displayed. Si le chemin n’existe pas, Chemin introuvable s’affiche.If the path does not exist, then Path not found is displayed.

Pour plus d’informations À propos de Si.For more information About If.

Opérateurs de chaîne de pipelinePipeline chain operators

PowerShell 7 implémente les opérateurs && et || pour attacher des pipelines de manière conditionnelle.PowerShell 7 implements the && and || operators to conditionally chain pipelines. Ces opérateurs sont connus dans PowerShell en tant qu’« opérateurs de chaîne de pipeline » et sont similaires à des listes AND et OR dans des interpréteurs de commandes tels que Bash et Zsh, de même que des symboles de traitement conditionnel dans l’interface de commande Windows (cmd.exe).These operators are known in PowerShell as "pipeline chain operators", and are similar to AND and OR lists in shells like Bash and Zsh, as well as conditional processing symbols in the Windows Command Shell (cmd.exe).

L’opérateur && exécute le pipeline droit si l’exécution du pipeline gauche a réussi.The && operator executes the right-hand pipeline, if the left-hand pipeline succeeded. Inversement, l’opérateur || exécute le pipeline droit si l’exécution du pipeline gauche a échoué.Conversely, the || operator executes the right-hand pipeline if the left-hand pipeline failed.

Notes

Ces opérateurs utilisent les variables $? et $LASTEXITCODE pour déterminer si un pipeline a échoué.These operators use the $? and $LASTEXITCODE variables to determine if a pipeline failed. Cela vous permet de les utiliser avec des commandes natives, et pas seulement avec des cmdlet ou des fonctions.This allows you to use them with native commands and not just with cmdlets or functions.

Ici, la première commande réussit et la deuxième commande est exécutée :Here, the first command succeeds and the second command is executed:

Write-Output 'First' && Write-Output 'Second'
First
Second

Ici, la première commande échoue et la deuxième commande n’est pas exécutée :Here, the first command fails, the second is not executed:

Write-Error 'Bad' && Write-Output 'Second'
Write-Error: Bad

Ici, la première commande réussit, la deuxième commande n’est pas exécutée :Here, the first command succeeds, the second command is not executed:

Write-Output 'First' || Write-Output 'Second'
First

Ici, la première commande échoue, donc la deuxième commande est exécutée :Here, the first command fails, so the second command is executed:

Write-Error 'Bad' || Write-Output 'Second'
Write-Error 'Bad'
Second

Pour plus d'informations À propos des opérateurs de chaîne de pipeline.For more information About Pipeline Chain Operators.

Coalesence Null, assignation et opérateurs conditionnelsNull-coalescing, assignment, and conditional operators

PowerShell 7 inclut l’opérateur de coalescence Null ??, l’assignation conditionnelle Null ??= et les opérateurs d’accès conditionnel des membres ?. et ?[].PowerShell 7 includes Null coalescing operator ??, Null conditional assignment ??=, and Null conditional member access operators ?. and ?[].

Opérateur de coalescence Null ??Null-coalescing Operator ??

L’opérateur de coalescence Null ?? retourne la valeur de son opérande gauche s’il n’est pas Null.The null-coalescing operator ?? returns the value of its left-hand operand if it isn't null. Dans le cas contraire, il évalue l’opérande droit et retourne son résultat.Otherwise, it evaluates the right-hand operand and returns its result. L’opérateur ?? n’évalue pas son opérande droit si l’opérande gauche a la valeur non Null.The ?? operator doesn't evaluate its right-hand operand if the left-hand operand evaluates to non-null.

$x = $null
$x ?? 100
100

Dans l’exemple suivant, l’opérande droit n’est pas évalué :In the following example, the right-hand operand won't be evaluated:

[string] $todaysDate = '1/10/2020'
$todaysDate ?? (Get-Date).ToShortDateString()
1/10/2020

Opérateur d’assignation conditionnelle Null ??=Null conditional assignment operator ??=

L’opérateur d’assignation conditionnelle Null ??= assigne la valeur de son opérande droit à son opérande gauche uniquement si l’opérande gauche a la valeur Null.The null conditional assignment operator ??= assigns the value of its right-hand operand to its left-hand operand only if the left-hand operand evaluates to null. L’opérateur ??= n’évalue pas son opérande droit si l’opérande gauche a la valeur non null.The ??= operator doesn't evaluate its right-hand operand if the left-hand operand evaluates to non-null.

$x = $null
$x ??= 100
$x
100

Dans l’exemple suivant, l’opérande droit n’est pas évalué :In the following example, the right-hand operand is not evaluated:

[string] $todaysDate = '1/10/2020'
$todaysDate ??= (Get-Date).ToShortDateString()
1/10/2020

Opérateurs d’accès conditionnel des membres Null ?.Null conditional member access operators ?. et ?[] (Expérimental)and ?[] (Experimental)

Notes

Il s’agit d’une fonctionnalité expérimentale nommée PSNullConditionalOperators.This is an experimental feature named PSNullConditionalOperators. En savoir plus À Propos des fonctionnalités expérimentales.Learn more About Experimental Features.

Un opérateur conditionnel Null n’autorise les membres, ?., ou les éléments, ?[], à accéder à son opérande que si cet opérande a la valeur non Null ; sinon, il retourne la valeur Null.A null conditional operator permits member access, ?., or element access, ?[], to its operand only if that operand evaluates to non-null; otherwise, it returns null.

Notes

Étant donné que PowerShell permet à ? de faire partie du nom de la variable, la spécification formelle du nom de la variable est requise pour l’utilisation de ces opérateurs.Since PowerShell allows ? to be part of the variable name, formal specification of the variable name is required for using these operators. Il est donc nécessaire d’utiliser {} autour des noms de variables comme ${a} ou lorsque ? fait partie du nom de la variable ${a?}.So it is required to use {} around the variable names like ${a} or when ? is part of the variable name ${a?}.

Dans l’exemple suivant, la valeur de la propriété de membre État est retournée :In the following example, the value of the member property Status is returned:

$Service = Get-Service -Name 'bits'
${Service}?.status
Stopped

L’exemple suivant retourne la valeur Null, sans essayer d’accéder au nom du membre État :The following example returns null, without trying to access the member name Status:

$service = $Null
${Service}?.status

De même, avec ?[], la valeur de l’élément est retournée :Similarly, using ?[], the value of the element is returned:

$a = 1..10
${a}?[0]
1

Et lorsque l’opérande a la valeur Null, l’élément n’est pas accessible et la valeur Null est retournée :And when the operand is null, the element isn't accessed and null is returned:

$a = $null
${a}?[0]

Pour plus d’informations About_Operators.For more information About_Operators.

Nouvelle vue ConciseView et cmdlet Get-ErrorNew view ConciseView and cmdlet Get-Error

PowerShell 7.0 optimise l’affichage des messages d’erreur pour améliorer la lisibilité des erreurs de script et interactives avec un nouvel affichage par défaut ConciseView.PowerShell 7.0 enhances the display of error messages to improve the readability of interactive and script errors with a new default view ConciseView. Les affichages peuvent être sélectionnées par l’utilisateur via la variable de préférence $ErrorView.The views are user-selectable through the preference variable $ErrorView.

Avec ConciseView, si une erreur ne provient pas d’un script ou d’un analyseur, le message d’erreur a une seule ligne :With ConciseView, if an error is not from a script or parser error, then it's a single line error message:

Get-Childitem -Path c:\NotReal
Get-ChildItem: Cannot find path 'C:\NotReal' because it does not exist

Si l’erreur se produit pendant l’exécution du script ou s’il s’agit d’une erreur d’analyse, PowerShell retourne un message d’erreur de plusieurs lignes contenant l’erreur, un pointeur et un message d’erreur qui indique l’emplacement de l’erreur dans cette ligne.If the error occurs during script execution or is a parsing error, PowerShell returns a multiline error message that contains the error, a pointer and error message showing where the error is in that line. Si le terminal ne prend pas en charge les séquences d’échappement de couleur ANSI (VT100), les couleurs ne sont pas affichées.If the terminal doesn't support ANSI color escape sequences (VT100), then colors are not displayed.

Affichage d’erreur à partir d’un script

L’affichage par défaut dans PowerShell 7 est ConciseView.The default view in PowerShell 7 is ConciseView. L’affichage par défaut précédent était NormalView et vous pouvez le sélectionner en définissant la variable de préférence $ErrorView.The previous default view was NormalView and you can select thisby setting the preference variable $ErrorView.

$ErrorView = 'NormalView' # Sets the error view to NormalView
$ErrorView = 'ConciseView' # Sets the error view to ConciseView

Notes

Une nouvelle propriété ErrorAccentColor est ajoutée à $Host.PrivateData pour prendre en charge la modification de la couleur d’accentuation du message d’erreur.A new property ErrorAccentColor is added to $Host.PrivateData to support changing the accent color of the error message.

Une nouvelle cmdlet Get-Error fournit un affichage détaillé de l’erreur complète si vous le souhaitez.A new cmdlet Get-Error provides a complete detailed view of the fully qualified error when desired. Par défaut, la cmdlet affiche les détails complets, notamment les exceptions internes, de la dernière erreur qui s’est produite.By default the cmdlet displays the full details, including inner exceptions, of the last error that occurred.

Afficher à partir de la Get-Error

La cmdlet Get-Error prend en charge l’entrée du pipeline à l’aide de la variable intégrée $Error.The Get-Error cmdlet supports input from the pipeline using the built-in variable $Error. Get-Error affiche toutes les erreurs communiquées.Get-Error displays all piped errors.

$Error | Get-Error

La cmdlet Get-Error prend en charge le paramètre le plus récent, ce qui vous permet de spécifier le nombre d’erreurs de la session active que vous souhaitez afficher.The Get-Error cmdlet supports the Newest parameter, allowing you to specify how many errors from the current session you wish displayed.

Get-Error -Newest 3 # Displays the lst three errors that occurred in the session

Pour plus d’informations sur Get-Error.For more information about Get-Error.

Notification en cas de nouvelle versionNew version notification

PowerShell 7 utilise des notifications de mise à jour pour avertir les utilisateurs de l’existence de mises à jour de PowerShell.PowerShell 7 uses update notifications to alert users to the existence of updates to PowerShell. Une fois par jour, PowerShell interroge un service en ligne pour déterminer si une version plus récente est disponible.Once per day, PowerShell queries an online service to determine if a newer version is available.

Notes

La vérification des mises à jour a lieu pendant la première session sur une période donnée de 24 heures.The update check happens during the first session in a given 24-hour period. Pour des raisons de performances, la vérification des mises à jour démarre 3 secondes après le début de la session.For performance reasons, the update check starts 3 seconds after the session begins. La notification s’affiche uniquement au début des sessions suivantes.The notification is shown only on the start of subsequent sessions.

Par défaut, PowerShell s’abonne à l’un des deux canaux de notification différents en fonction de sa version/branche.By default, PowerShell subscribes to one of two different notification channels depending on its version/branch. Les versions de PowerShell prises en charge généralement disponibles ne retournent de notifications que pour les versions mises à jour en disponibilité générale (GA).Supported, Generally Available (GA) versions of PowerShell only return notifications for updated GA releases. La préversion et la version finale (RC) informent des mises à jour de la préversion, de la version finale (RC) et de la version en disponibilité générale (GA).Preview and Release Candidate (RC) releases notify of updates to preview, RC, and GA releases.

Le comportement de notification de mise à jour peut être modifié à l’aide de la variable d’environnement $Env:POWERSHELL_UPDATECHECK.The update notification behavior can be changed using the $Env:POWERSHELL_UPDATECHECK environment variable. Les valeurs suivantes sont admises :The following values are supported:

  • Par défaut revient à ne pas définir $Env:POWERSHELL_UPDATECHECKDefault is the same as not defining $Env:POWERSHELL_UPDATECHECK
    • Les versions en disponibilité générale (GA) informent des mises à jour des versions GAGA releases notify of updates to GA releases
    • La préversion/les versions finales (RC) informent des mises à jour des versions en disponibilité générale (GA) et des préversions.Preview/RC releases notify of updates to GA and preview releases
  • Désactiver désactive la fonctionnalité de notification de mise à jourOff turns off the update notification feature
  • LTS signale uniquement les mises à jour des versions GA LTS (Long-Term-Servicing)LTS only notifies of updates to long-term-servicing (LTS) GA releases

Notes

La variable d’environnement $Env:POWERSHELL_UPDATECHECK n’existe pas tant qu’elle n’est pas définie pour la première fois.The environment variable $Env:POWERSHELL_UPDATECHECK does not exist until it is set for the first time.

Pour définir la notification de version pour les versions de LTS uniquement :To set the version notification for LTS releases only:

$Env:POWERSHELL_UPDATECHECK = 'LTS'

Pour définir la notification de version pour le comportement Default uniquement :To set the version notification to the Default behavior:

$Env:POWERSHELL_UPDATECHECK = 'Default'

Pour plus d'informations À propos des notifications de mise à jour.For more information About Update Notifications.

Nouvelle prise en charge des ressources DSC avec Invoke-DSCResource (expérimental)New DSC Resource support with Invoke-DSCResource (Experimental)

Notes

Il s’agit d’une fonctionnalité expérimentale nommée PSDesiredStateConfiguration.InvokeDscResource.This is an experimental feature named PSDesiredStateConfiguration.InvokeDscResource. En savoir plus À Propos des fonctionnalités expérimentales.Learn more About Experimental Features.

La cmdlet Invoke-DscResource exécute une méthode d’une ressource Desired State Configuration (DSC) PowerShell spécifiée.The Invoke-DscResource cmdlet runs a method of a specified PowerShell Desired State Configuration (DSC) resource.

Cette cmdlet appelle directement une ressource DSC sans créer de document de configuration.This cmdlet invokes a DSC resource directly, without creating a configuration document. À l’aide de cette cmdlet, les produits de gestion de la configuration peuvent gérer Windows ou Linux à l’aide de ressources DSC.Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. Cette cmdlet de commande permet également de déboguer des ressources lorsque le moteur DSC s’exécute avec le débogage activé.This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

Cette commande appelle la méthode Set d’une ressource nommée WindowsProcess et fournit les propriétés obligatoires Path et Arguments pour démarrer le processus Windows spécifié.This command invokes the Set method of a resource named WindowsProcess and provides the mandatory Path and Arguments properties to start the specified Windows process.

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

Pour plus d’informations sur Invoke-DSCResource.For more information about Invoke-DSCResource.

Dernières modifications et améliorationsBreaking Changes and Improvements

Dernières modificationsBreaking Changes

  • Prise en charge de LTS et des canaux par défaut par la notification de mise à jour (#11132)Make update notification support LTS and default channels (#11132)
  • Mise à jour de Test-Connection pour qu’elle fonctionne de façon plus similaire à Windows PowerShell (#10697) (Merci @vexx32 !)Update Test-Connection to work more like the one in Windows PowerShell (#10697) (Thanks @vexx32!)
  • Preserve $?Preserve $? pour ParenExpression, SubExpression et ArrayExpression (#11040)for ParenExpression, SubExpression and ArrayExpression (#11040)
  • Transformation du répertoire de travail en répertoire actuel dans Start-Job (#10920) (Merci @iSazonov !)Set working directory to current directory in Start-Job (#10920) (Thanks @iSazonov!)
  • Reflet cohérent par $PSCulturedes modifications de culture dans la session (#10138) (Merci @iSazonov !)Make $PSCulture consistently reflect in-session culture changes (#10138) (Thanks @iSazonov!)

Mises à jour et correctifs du moteurEngine Updates and Fixes

  • Améliorations des API de point d’arrêt pour les scénarios distants (#11312)Improvements in breakpoint APIs for remote scenarios (#11312)
  • Correction de la fuite de définition de classe PowerShell dans une autre instance d’exécution (#11273)Fix PowerShell class definition leaking into another Runspace (#11273)
  • Correction d’une régression dans la mise en forme provoquée par la primitive FirstOrDefault ajoutée à 7.0.0-Preview1 (#11258)Fix a regression in formatting caused by the FirstOrDefault primitive added in 7.0.0-Preview1 (#11258)
  • Modules Microsoft supplémentaires à suivre dans la télémétrie PS7 (#10751)Additional Microsoft Modules to track in PS7 Telemetry (#10751)
  • Transformation des fonctionnalités approuvées en fonctionnalités non expérimentales (#11303)Make approved features non-experimental (#11303)
  • Mise à jour de ConciseView pour utiliser TargetObject le cas échéant (#11075)Update ConciseView to use TargetObject if applicable (#11075)
  • Correction de NullReferenceException dans les méthodes publiques CompletionCompleters (#11274)Fix NullReferenceException in CompletionCompleters public methods (#11274)
  • Correction de la vérification de l’état du cloisonnement de threads sur les plateformes non-Windows (#11301)Fix apartment thread state check on non-Windows platforms (#11301)
  • Mise à jour du paramètre PSModulePath pour concaténer les variables d’environnement du processus et de l’ordinateur (#11276)Update setting PSModulePath to concatenate the process and machine environment variables (#11276)
  • Passage de .NET Core à 3.1.0 (#11260)Bump .NET Core to 3.1.0 (#11260)
  • Correction de la détection de $PSHOME devant $env:PATH (#11141)Fix detection of $PSHOME in front of $env:PATH (#11141)
  • Autorisation pour pwsh d’hériter de $env:PSModulePath et d’activer powershell.exe pour démarrer correctement (#11057)Allow pwsh to inherit $env:PSModulePath and enable powershell.exe to start correctly (#11057)
  • Passage à .NET Core 3.1 préversion 1 (#10798)Move to .NET Core 3.1 preview 1 (#10798)
  • Refactorisation des vérifications d’étiquettes d’analyse dans le fournisseur du système de fichiers (#10431) (Merci @iSazonov !)Refactor reparse tag checks in file system provider (#10431) (Thanks @iSazonov!)
  • Remplacement de CR et de la nouvelle ligne par un caractère 0x23CE dans la journalisation des scripts (#10616)Replace CR and new line with a 0x23CE character in script logging (#10616)
  • Correction d’une fuite de ressources en annulant l’inscription du gestionnaire d’événements dans AppDomain.CurrentDomain.ProcessExit (#10626)Fix a resource leak by unregistering the event handler from AppDomain.CurrentDomain.ProcessExit (#10626)
  • Ajout de la prise en charge à ActionPreference.Break pour s’arrêter dans le débogueur lorsque des messages de débogage, d’erreur, d’information, de progression, de commentaires ou d’avertissement sont générés (#8205) (Merci @KirkMunro !)Add support to ActionPreference.Break to break into debugger when Debug, Error, Information, Progress, Verbose or Warning messages are generated (#8205) (Thanks @KirkMunro!)
  • Activation du démarrage des compléments du panneau de configuration dans PowerShell Core sans spécifier une extension .CPL.Enable starting control panel add-ins within PowerShell Core without specifying .CPL extension. (#9828)(#9828)
  • Prise en charge des nombres négatifs dans l’opérateur -split (#8960) (Merci @ece-jacob-scott !)Support negative numbers in -split operator (#8960) (Thanks @ece-jacob-scott!)

Mises à jour et correctifs d’applets de commande généralesGeneral Cmdlet Updates and Fixes

  • Correction du problème sur Raspbian pour la définition de la date des modifications de fichier dans la fonctionnalité expérimentale UnixStat (#11313)Fix for issue on Raspbian for setting date of file changes in UnixStat Experimental Feature (#11313)
  • Ajout de -AsPlainText à ConvertFrom-SecureString (#11142)Add -AsPlainText to ConvertFrom-SecureString (#11142)
  • Vérification de la version de WindowsPS ajoutée pour WinCompat (#11148)Added WindowsPS version check for WinCompat (#11148)
  • Correction des rapports d’erreur dans certains scénarios WinCompat (#11259)Fix error-reporting in some WinCompat scenarios (#11259)
  • Ajout d’un programme de résolution binaire natif (#11032) (Merci @iSazonov !)Add native binary resolver (#11032) (Thanks @iSazonov!)
  • Mise à jour du calcul de la largeur de char pour respecter correctement les chars CJK (#11262)Update calculation of char width to respect CJK chars correctly (#11262)
  • Ajout d’Unblock-File pour macOS (#11137)Add Unblock-File for macOS (#11137)
  • Correction de la régression dans Get-PSCallStack (#11210) (Merci @iSazonov !)Fix regression in Get-PSCallStack (#11210) (Thanks @iSazonov!)
  • Suppression du chargement automatique du module ScheduledJob lors de l’utilisation de cmdlets de tâches (#11194)Remove autoloading of the ScheduledJob module when using Job cmdlets (#11194)
  • Ajout d’OutputType à la cmdlet Get-Error et conservation du nom de type (#10856)Add OutputType to Get-Error cmdlet and preserve original typenames (#10856)
  • Correction de la référence null dans la propriété SupportsVirtualTerminal (#11105)Fix null reference in SupportsVirtualTerminal property (#11105)
  • Ajout de la limite d’enregistrement dans Get-WinEvent (#10648) (Merci @iSazonov !)Add limit check in Get-WinEvent (#10648) (Thanks @iSazonov!)
  • Correction du runtime de telle manière que StopUpstreamCommandsException ne soit pas rempli dans -ErrorVariable (#10840)Fix command runtime so StopUpstreamCommandsException doesn't get populated in -ErrorVariable (#10840)
  • Définition de l’encodage de sortie sur [console]::OutputEncoding pour les commandes natives (#10824)Set the output encoding to [Console]::OutputEncoding for native commands (#10824)
  • Prise en charge des blocs de code multilignes dans des exemples (#10776) (Merci @Greg-Smulko !)Support multi-line code blocks in examples (#10776) (Thanks @Greg-Smulko!)
  • Ajout d’un paramètre de culture à la cmdlet Select-String (#10943) (Merci @iSazonov!)Add Culture parameter to Select-String cmdlet (#10943) (Thanks @iSazonov!)
  • Correction du chemin du répertoire de Start-Job avec la barre oblique inverse de fin (#11041)Fix Start-Job working directory path with trailing backslash (#11041)
  • ConvertFrom-Json : Désencapsulage des collections par défaut (#10861) (Merci @danstur !)ConvertFrom-Json: Unwrap collections by default (#10861) (Thanks @danstur!)
  • Utilisation de la table de hachage pour la cmdlet Group-Object avec les commutateurs -CaseSensitive et -AsHashtable (#11030) (Merci @vexx32 !)Use case-sensitive Hashtable for Group-Object cmdlet with -CaseSensitive and -AsHashtable switches (#11030) (Thanks @vexx32!)
  • Gestion d’exception en cas d’échec de l’énumération des fichiers lors de la reconstruction du chemin pour obtenir une casse correcte (#11014)Handle exception if enumerating files fails when rebuilding path to have correct casing (#11014)
  • Correction de ConciseView pour afficher l’activité au lieu de myCommand (#11007)Fix ConciseView to show Activity instead of myCommand (#11007)
  • Autorisation de cmdlets web d’ignorer les états d’erreur HTTP (#10466) (Merci @vdamewood !)Allow web cmdlets to ignore HTTP error statuses (#10466) (Thanks @vdamewood!)
  • Correction de la canalisation de plusieurs CommandInfo vers Get-Command (#10929)Fix piping of more than one CommandInfo to Get-Command (#10929)
  • Rajout de l’applet de commande pour Windows (#10933)Add back Get-Counter cmdlet for Windows (#10933)
  • Traitement de [AutomationNull]::Value et [NullString]::Value en tant que $null par ConvertTo-JSON (#10957)Make ConvertTo-Json treat [AutomationNull]::Value and [NullString]::Value as $null (#10957)
  • Suppression des crochets de l’adresse ipv6 pour la communication à distance SSH (#10968)Remove brackets from ipv6 address for SSH remoting (#10968)
  • Correction d’incident si la commande envoyée à pwsh est simplement un espace blanc (#10977)Fix crash if command sent to pwsh is just whitespace (#10977)
  • Ajout de Get-Clipboard et Set-Clipboard multiplateformes (#10340)Added cross-platform Get-Clipboard and Set-Clipboard (#10340)
  • Correction du paramètre du chemin d’origine de l’objet système de fichiers pour qu’il n’ait pas de barre oblique de fin supplémentaire (#10959)Fix setting original path of filesystem object to not have extra trailing slash (#10959)
  • Prise en charge de $Null pour ConvertTo-Json (#10947)Support $null for ConvertTo-Json (#10947)
  • Rajout de la commande Out-Printer sur Windows (#10906)Add back Out-Printer command on Windows (#10906)
  • Correction de Start-Job-WorkingDirectory avec un espace blanc (#10951)Fix Start-Job -WorkingDirectory with whitespace (#10951)
  • Retourne la valeur par défaut lors de l’obtention de Null pour un paramètre dans PSConfiguration.cs (#10963) (Merci @iSazonov !)Return default value when getting null for a setting in PSConfiguration.cs (#10963) (Thanks @iSazonov!)
  • Gestion de l’exception d’E/S comme étant sans fin d’exécution (#10950)Handle IO exception as non-terminating (#10950)
  • Ajout d’un assembly GraphicalHost pour activer Out-GridView, Show-Command et Get-Help-ShowWindow (#10899)Add GraphicalHost assembly to enable Out-GridView, Show-Command, and Get-Help -ShowWindow (#10899)
  • Prise de ComputerName via pipeline dans Get-HotFix (#10852) (Merci @kvprasoon !)Take ComputerName via pipeline in Get-HotFix (#10852) (Thanks @kvprasoon!)
  • Correction de la saisie semi-automatique des paramètres via la touche Tab pour afficher les paramètres communs disponibles (#10850)Fix tab completion for parameters so that it shows common parameters as available (#10850)
  • Correction de GetCorrectCasedPath() pour commencer par vérifier si des entrées de fichier système sont retournées avant d’appeler First() (#10930)Fix GetCorrectCasedPath() to first check if any system file entries is returned before calling First() (#10930)
  • Transformation du répertoire de travail en répertoire actuel dans Start-Job (#10920) (Merci @iSazonov !)Set working directory to current directory in Start-Job (#10920) (Thanks @iSazonov!)
  • Modification de TabExpansion2 pour ne pas demander -CursorColumn et traitement en tant que $InputScript.Length (#10849)Change TabExpansion2 to not require -CursorColumn and treat as $InputScript.Length (#10849)
  • Gestion au cas où l’hôte ne peut pas retourner des lignes ou des colonnes d’écran (#10938)Handle case where Host may not return Rows or Columns of screen (#10938)
  • Correction de l’utilisation des couleurs d’accentuation pour les hôtes qui ne les prennent pas en charge (#10937)Fix use of accent colors for hosts that don't support them (#10937)
  • Rajout de la commande Update-List (#10922)Add back Update-List command (#10922)
  • Mise à jour de l’ID FWLink pour Clear-RecycleBin (#10925)Update FWLink Id for Clear-RecycleBin (#10925)
  • Lors de la saisie semi-automatique via la touche Tab, ignorer le fichier si la lecture de ses attributs est impossible (#10910)During tab completion, skip file if can't read file attributes (#10910)
  • Rajout de Clear-RecycleBin pour Windows (#10909)Add back Clear-RecycleBin for Windows (#10909)
  • Ajout de $env:__SuppressAnsiEscapeSequences pour contrôler s’il faut avoir une séquence d’échappement VT dans la sortie (#10814)Add $env:__SuppressAnsiEscapeSequences to control whether to have VT escape sequence in output (#10814)
  • Ajout du paramètre NoEmphasize pour colorier la sortie Select-String (#8963) (Merci @derek-xia !)Add -NoEmphasize parameter to colorize Select-String output (#8963) (Thanks @derek-xia!)
  • Rajout de la cmdlet Get-HotFix (#10740)Add back Get-HotFix cmdlet (#10740)
  • Add-Type rendu utilisable dans les applications qui hébergent PowerShell (#10587)Make Add-Type usable in applications that host PowerShell (#10587)
  • Utilisation d’un ordre d’évaluation plus efficace dans LanguagePrimitives.IsNullLike() (#10781) (Merci @vexx32 !)Use more effective evaluation order in LanguagePrimitives.IsNullLike() (#10781) (Thanks @vexx32!)
  • Amélioration de la gestion de l’entrée redirigée de collection mixte et des flux d’entrée redirigés au Format-Hex (#8674) (Merci @vexx32 !)Improve handling of mixed-collection piped input and piped streams of input in Format-Hex (#8674) (Thanks @vexx32!)
  • Utilisation de la conversion de type dans les tables de hachage SSHConnection quand la valeur ne correspond pas au type attendu (#10720) (Merci @SeeminglyScience !)Use type conversion in SSHConnection hashtables when value doesn't match expected type (#10720) (Thanks @SeeminglyScience!)
  • Correction du comportement de Get-Content -ReadCount 0 quand -TotalCount est défini (#10749) (Merci @eugenesmlv !)Fix Get-Content -ReadCount 0 behavior when -TotalCount is set (#10749) (Thanks @eugenesmlv!)
  • Message d’erreur d’accès de reformulation refusé dans Get-WinEvent (#10639) (Merci @iSazonov !)Reword access denied error message in Get-WinEvent (#10639) (Thanks @iSazonov!)
  • Activation de la saisie semi-automatique via la touche Tab pour l’affectation de variable qui est une énumération ou un type avec restriction (#10646)Enable tab completion for variable assignment that is enum or type constrained (#10646)
  • Suppression de la propriété de communication à distance SourceLength inutilisée provoquant des problèmes de mise en forme (#10765)Remove unused SourceLength remoting property causing formatting issues (#10765)
  • Ajout du paramètre -Delimiter à ConvertFrom-StringData (#10665) (Merci @steviecoaster !)Add -Delimiter parameter to ConvertFrom-StringData (#10665) (Thanks @steviecoaster!)
  • Ajout du paramètre de position pour ScriptBlock lorsqu’Invoke-Command est utilisé avec SSH (#10721) (Merci @machgo !)Add positional parameter for ScriptBlock when using Invoke-Command with SSH (#10721) (Thanks @machgo!)
  • Affichage d’informations de contexte de ligne s’il y a plusieurs lignes, mais pas de nom de script pour ConciseView (#10746)Show line context information if multiple lines but no script name for ConciseView (#10746)
  • Ajout de la prise en charge de \wsl$\ paths au fournisseur de système de fichiers (#10674)Add support for \wsl$\ paths to file system provider (#10674)
  • Ajout du jeton manquant pour TokenKind.QuestionMark dans l’analyseur (#10706)Add the missing token text for TokenKind.QuestionMark in parser (#10706)
  • Définition du répertoire de travail actuel de chaque script d’exécution ForEach-Object-Parallel au même emplacement que le script appelant.Set current working directory of each ForEach-Object -Parallel running script to the same location as the calling script. (#10672)(#10672)
  • Remplacement d’api-ms-win-core-file-l1-2-2.dll par Kernell32.dll pour les API FindFirstStreamW et FindNextStreamW (#10680) (Merci @iSazonov !)Replace api-ms-win-core-file-l1-2-2.dll with Kernell32.dll for FindFirstStreamW and FindNextStreamW APIs (#10680) (Thanks @iSazonov!)
  • Adaptation du script d’aide à la mise en forme pour une meilleure tolérance StrictMode (#10563)Tweak help formatting script to be more StrictMode tolerant (#10563)
  • Ajout du paramètre -SecurityDescriptorSDDL à New-Service (#10483) (Merci @kvprasoon !)Add -SecurityDescriptorSDDL parameter to New-Service (#10483) (Thanks @kvprasoon!)
  • Suppression de la sortie d’information, consolidation de l’utilisation du test ping dans Test-Connection (#10478) (Merci @vexx32 !)Remove informational output, consolidate ping usage in Test-Connection (#10478) (Thanks @vexx32!)
  • Lecture des points d’analyse spéciaux sans y accéder (#10662) (Merci @iSazonov !)Read special reparse points without accessing them (#10662) (Thanks @iSazonov!)
  • Sortie directe Clear-Host sur le terminal (#10681) (Merci @iSazonov !)Direct Clear-Host output to terminal (#10681) (Thanks @iSazonov!)
  • Rajout d’une nouvelle ligne pour le regroupement avec Format-Table et -Property (#10653)Add back newline for grouping with Format-Table and -Property (#10653)
  • Suppression de [ValidateNotNullOrEmpty] de -InputObject sur Get-Random pour autoriser une chaîne vide (#10644)Remove [ValidateNotNullOrEmpty] from -InputObject on Get-Random to allow empty string (#10644)
  • Algorithme de distance de la chaîne système rendu insensible à la casse (#10549) (Merci @iSazonov !)Make suggestion system string distance algorithm case-insensitive (#10549) (Thanks @iSazonov!)
  • Correction de l’exception de référence Null dans le traitement de l’entrée ForEach-Object-Parallel (#10577)Fix null reference exception in ForEach-Object -Parallel input processing (#10577)
  • Ajout de définitions de stratégie de groupe PowerShell Core (#10468)Add PowerShell Core group policy definitions (#10468)
  • Mise à jour de l’hôte de la console pour prendre en charge les séquences de contrôle XTPUSHSGR/XTPOPSGR VT utilisées dans les scénarios de composabilité.Update console host to support XTPUSHSGR/XTPOPSGR VT control sequences that are used in composability scenarios. (#10208)(#10208)
  • Ajout du paramètre WorkingDirectory à Start-Job (#10324) (Merci @davinci26 !)Add WorkingDirectory parameter to Start-Job (#10324) (Thanks @davinci26!)
  • Suppression du gestionnaire d’événements à l’origine de la réplication erronée des modifications de point d’arrêt dans le débogueur de l’instance d’exécution de l’hôte (#10503) (Merci @KirkMunro !)Remove the event handler that was causing breakpoint changes to be erroneously replicated to the host runspace debugger (#10503) (Thanks @KirkMunro!)
  • Remplacement d’api-ms-win-core-job-12-1-0.dll par Kernell32.dll dans l’API Microsoft.PowerShell.Commands.NativeMethods P/Invoke (#10417) (Merci @iSazonov !)Replace api-ms-win-core-job-12-1-0.dll with Kernell32.dll in Microsoft.PowerShell.Commands.NativeMethods P/Invoke API(#10417) (Thanks @iSazonov!)
  • Correction de la sortie incorrecte pour New-Service dans l’affectation de variable et de-OutVariable (#10444) (Merci @kvprasoon !)Fix wrong output for New-Service in variable assignment and -OutVariable (#10444) (Thanks @kvprasoon!)
  • Résolution des problèmes d’outils globaux autour du code de sortie, des paramètres de ligne de commande et du chemin avec des espaces (#10461)Fix global tool issues around exit code, command line parameters and path with spaces (#10461)
  • Correction de la récursivité dans OneDrive : modification de FindFirstFileEx() pour utiliser le type SafeFindHandle (#10405)Fix recursion into OneDrive - change FindFirstFileEx() to use SafeFindHandle type (#10405)
  • Chargement automatique de PSReadLine sur Windows ignoré si le lecteur d’écran NVDA est actif (#10385)Skip auto-loading PSReadLine on Windows if the NVDA screen reader is active (#10385)
  • Passage des versions de module built-with-PowerShell vers 7.0.0.0 (#10356)Increase built-with-PowerShell module versions to 7.0.0.0 (#10356)
  • Ajout de la levée d’une erreur dans Add-Type si un type portant le même nom existe déjà (#9609) (Merci @iSazonov !)Add throwing an error in Add-Type if a type with the same name already exists (#9609) (Thanks @iSazonov!)

PerformancesPerformance

  • Éviter d’utiliser la fermeture dans Parser.SaveError (#11006)Avoid using closure in Parser.SaveError (#11006)
  • Amélioration de la mise en cache lors de la création d’instances Regex (#10657) (Merci @iSazonov !)Improve the caching when creating new Regex instances (#10657) (Thanks @iSazonov!)
  • Amélioration du traitement des données de type PowerShell intégrées detypes.ps1xml, typesV3.ps1xml et GetEvent.types.ps1xml (#10898)Improve processing of the PowerShell built-in type data from types.ps1xml, typesV3.ps1xml and GetEvent.types.ps1xml (#10898)
  • Mise à jour de PSConfiguration.ReadValueFromFile pour l’accélérer et augmenter l’efficacité de la mémoire (#10839)Update PSConfiguration.ReadValueFromFile to make it faster and more memory efficient (#10839)
  • Ajout d’améliorations de performances mineures pour l’initialisation de l’instance d’exécution (#10569) (Merci @iSazonov !)Add minor performance improvements for runspace initialization (#10569) (Thanks @iSazonov!)
  • Accélération de ForEach-Object pour ses scénarios couramment utilisés (#10454) et résolution du problème de performance ForEach-Object-Parallel avec de nombreuses instances d’exécution (#10455)Make ForEach-Object faster for its commonly used scenarios (#10454) and fix ForEach-Object -Parallel performance problem with many runspaces (#10455)

Nettoyage du codeCode Cleanup

  • Modification du texte des commentaires et des éléments pour respecter les normes Microsoft (#11304)Change comment and element text to meet Microsoft standards (#11304)
  • Problèmes de style de nettoyage dans Compiler.cs (#10368) (Merci @iSazonov !)Cleanup style issues in Compiler.cs (#10368) (Thanks @iSazonov!)
  • Suppression du convertisseur de type inutilisé pour CommaDelimitedStringCollection (#11000) (Merci @iSazonov !)Remove the unused type converter for CommaDelimitedStringCollection (#11000) (Thanks @iSazonov!)
  • Style de nettoyage dans InitialSessionState.cs (#10865) (Merci @iSazonov !)Cleanup style in InitialSessionState.cs (#10865) (Thanks @iSazonov!)
  • Nettoyage du code pour la classe PSSession (#11001)Code clean up for PSSession class (#11001)
  • Suppression de la fonctionnalité « exécuter Update-Help de Get-Help lorsque Get-Help s’exécute pour la première fois » (#10974)Remove the not-working 'run Update-Help from Get-Help when Get-Help runs for the first time' feature (#10974)
  • Résolution des problèmes de style (#10998) (Merci @iSazonov !)Fix style issues (#10998) (Thanks @iSazonov!)
  • Nettoyage : utilisez l’alias de type intégré (#10882) (Merci @iSazonov !)Cleanup: use the built-in type alias (#10882) (Thanks @iSazonov!)
  • Suppression de la clé de paramètre inutilisée ConsolePrompting et évitement d’une création de chaîne inutile lors de l’interrogation du paramètre ExecutionPolicy (#10985)Remove the unused setting key ConsolePrompting and avoid unnecessary string creation when querying ExecutionPolicy setting (#10985)
  • Désactivation du contrôle de notification de mise à jour pour les builds quotidiennes (#10903) (Merci @bergmeister !)Disable update notification check for daily builds (#10903) (Thanks @bergmeister!)
  • Rétablissement de l’API de débogage perdue dans #10338 (#10808)Reinstate debugging API lost in #10338 (#10808)
  • Suppression de la référence WorkflowJobSourceAdapter qui n’est plus utilisée (#10326) (Merci @KirkMunro !)Remove WorkflowJobSourceAdapter reference that is no longer used (#10326) (Thanks @KirkMunro!)
  • Nettoyage des interfaces COM dans le code de liste de raccourcis en résolvant les attributs PreserveSig (#9899) (Merci @weltkante !)Cleanup COM interfaces in jump list code by fixing PreserveSig attributes (#9899) (Thanks @weltkante!)
  • Ajout d’un commentaire décrivant la raison pour laquelle -ia n’est pas l’alias du paramètre commun -InformationAction (#10703) (Merci @KirkMunro !)Add a comment describing why -ia is not the alias for -InformationAction common parameter (#10703) (Thanks @KirkMunro!)
  • Renommage d’InvokeCommandCmdlet.cs en InvokeExpressionCommand.cs (#10659) (Merci @kilasuit !)Rename InvokeCommandCmdlet.cs to InvokeExpressionCommand.cs (#10659) (Thanks @kilasuit!)
  • Ajout des nettoyages de code mineurs relatifs aux notifications de mise à jour (#10698)Add minor code cleanups related to update notifications (#10698)
  • Suppression de la logique de flux de travail dépréciée des scripts d’installation de communication à distance (#10320) (Merci @KirkMunro !)Remove deprecated workflow logic from the remoting setup scripts (#10320) (Thanks @KirkMunro!)
  • Mise à jour du format d’aide pour utiliser la casse appropriée (#10678) (Merci @tnieto88 !)Update help format to use proper case (#10678) (Thanks @tnieto88!)
  • Nettoyage des problèmes de style CodeFactor arrivant dans les validations pour le mois dernier (#10591) (Merci @iSazonov !)Clean up CodeFactor style issues coming in commits for the last month (#10591) (Thanks @iSazonov!)
  • Correction de la faute de frappe dans la description de la fonctionnalité expérimentale PSTernaryOperator (#10586) (Merci @bergmeister !)Fix typo in description of PSTernaryOperator experimental feature (#10586) (Thanks @bergmeister!)
  • Convertissement de la valeur d’énumération ActionPreference.Suspend en un État réservé non pris en charge et suppression de la restriction de l’utilisation d’ActionPreference.Ignore dans les variables de préférence (#10317) (Merci @KirkMunro !)Convert ActionPreference.Suspend enumeration value into a non-supported, reserved state, and remove restriction on using ActionPreference.Ignore in preference variables (#10317) (Thanks @KirkMunro!)
  • Remplacement d’ArrayList par List<T> pour obtenir du code plus lisible et plus fiable sans modifier les fonctionnalités (#10333) (Merci @iSazonov !)Replace ArrayList with List<T> to get more readable and reliable code without changing functionality (#10333) (Thanks @iSazonov!)
  • Corrections de style de code dans TestConnectionCommand (#10439) (Merci @vexx32 !)Make code style fixes to TestConnectionCommand (#10439) (Thanks @vexx32!)
  • Nettoyage d’AutomationEngine et suppression de l’appel de méthode SetSessionStateDrive supplémentaire (#10416) (Merci @iSazonov !)Cleanup AutomationEngine and remove extra SetSessionStateDrive method call (#10416) (Thanks @iSazonov!)
  • Renommage de ParameterSetName par défaut en séparateur pour ConvertTo-Csv et ConvertFrom-Csv (#10425)Rename default ParameterSetName back to Delimiter for ConvertTo-Csv and ConvertFrom-Csv (#10425)

OutilsTools

  • Ajout du paramètre par défaut pour la propriété SDKToUse afin qu’elle soit générée dans VS (#11085)Add default setting for the SDKToUse property so that it builds in VS (#11085)
  • Install-Powershell.ps1 : Ajout d’un paramètre pour utiliser l’installation MSI (#10921) (Merci @MJECloud !)Install-Powershell.ps1: Add parameter to use MSI installation (#10921) (Thanks @MJECloud!)
  • Ajout d’exemples de base pour install-PowerShell.ps1 (#10914) (Merci @kilasuit !)Add basic examples for install-powershell.ps1 (#10914) (Thanks @kilasuit!)
  • Gestion d’une chaîne vide par Install-PowerShellRemoting.ps1 dans le paramètre PowerShellHome (#10526) (Merci @Orca88 !)Make Install-PowerShellRemoting.ps1 handle empty string in PowerShellHome parameter (#10526) (Thanks @Orca88!)
  • Basculement de /etc/lsb-release vers /etc/os-release dans install-powershell.sh (#10773) (Merci @Himura2la !)Switch from /etc/lsb-release to /etc/os-release in install-powershell.sh (#10773) (Thanks @Himura2la!)
  • Vérification de pwsh.exe et de pwsh dans la version quotidienne sur Windows (#10738) (Merci @centreboard !)Check pwsh.exe and pwsh in daily version on Windows (#10738) (Thanks @centreboard!)
  • Suppression de l’actionnement inutile dans installpsh-osx.sh (#10752)Remove unneeded tap in installpsh-osx.sh (#10752)
  • Mise à jour d’install-PowerShell.ps1 pour vérifier la build quotidienne déjà installée (#10489)Update install-powershell.ps1 to check for already installed daily build (#10489)

TestsTests

  • Mise en attente du test DSC non fiable (#11131)Make unreliable DSC test pending (#11131)
  • Correction du test StringData pour valider correctement les clés de tables de hachage (#10810)Fix stringdata test to correctly validate keys of hashtables (#10810)
  • Déchargement des modules de test (#11061) (Merci @iSazonov !)Unload test modules (#11061) (Thanks @iSazonov!)
  • Augmentation du temps entre les nouvelles tentatives de test d’URL (#11015)Increase time between retries of testing URL (#11015)
  • Mise à jour les tests pour décrire précisément les actions de test.Update tests to accurately describe test actions. (#10928) (Merci @romero126 !)(#10928) (Thanks @romero126!)
  • Le test non fiable TestAppDomainProcessExitEvenHandlerNotLeaking est temporairement ignoré (#10827)Temporary skip the flaky test TestAppDomainProcessExitEvenHandlerNotLeaking (#10827)
  • Stabilisation du test de fuite du gestionnaire d'événements (#10790)Make the event handler leaking test stable (#10790)
  • Synchronisation de la mise en majuscules dans CI YAML (#10767) (Merci @RDIL !)Sync capitalization in CI YAML (#10767) (Thanks @RDIL!)
  • Ajout d’un test pour la correction de fuite du gestionnaire d'événements (#10768)Add test for the event handler leaking fix (#10768)
  • Ajout du test Get-ChildItem (#10507) (Merci @iSazonov !)Add Get-ChildItem test (#10507) (Thanks @iSazonov!)
  • Remplacement du langage ambigu des tests du commutateur au paramètre pour garantir la précision (#10666) (Merci @romero126 !)Replace ambiguous language for tests from switch to parameter for accuracy (#10666) (Thanks @romero126!)
  • Ajout d’une vérification expérimentale aux tests ForEach-Object-Parallel (#10354) (Merci @KirkMunro !)Add experimental check to ForEach-Object -Parallel tests (#10354) (Thanks @KirkMunro!)
  • Mise à jour des tests de validation Alpine (#10428)Update tests for Alpine validation (#10428)

Améliorations des builds et des packagesBuild and Package Improvements

  • Correction de la signature de package NuGet pour la génération de packages coordonnés (#11316)Fix Nuget package signing for Coordinated Package build (#11316)
  • Mise à jour des dépendances de PowerShell Gallery et de NuGet (#11323)Update dependencies from PowerShell Gallery and NuGet (#11323)
  • Passage de Microsoft.ApplicationInsights 2.11.0 à 2.12.0 (#11305)Bump Microsoft.ApplicationInsights from 2.11.0 to 2.12.0 (#11305)
  • Passage de Microsoft.CodeAnalysis.CSharp de 3.3.1 à 3.4.0 (#11265)Bump Microsoft.CodeAnalysis.CSharp from 3.3.1 to 3.4.0 (#11265)
  • Mise à jour des packages pour Debian 10 et 11 (#11236)Updates packages for Debian 10 and 11 (#11236)
  • Activation des fonctionnalités expérimentales antérieures à la version RC uniquement (#11162)Only enable experimental features prior to RC (#11162)
  • Mise à jour de la version macOS minimale (#11163)Update macOS minimum version (#11163)
  • Passage de NJsonSchema de 10.0.27 à 10.0.28 (#11170)Bump NJsonSchema from 10.0.27 to 10.0.28 (#11170)
  • Mise à jour des liens dans README.md et metadata.json pour la préversion 5 (#10854)Updating links in README.md and metadata.json for Preview.5 (#10854)
  • Sélection des fichiers pour les tests de compatibilité détenus par PowerShell (#10837)Select the files for compliance tests which are owned by PowerShell (#10837)
  • Autorisation de la génération du package win7x86 msix.Allow win7x86 msix package to build. (Interne 10515)(Internal 10515)
  • Autorisation du passage des versions sémantiques à la fonction NormalizeVersion (#11087)Allow semantic versions to be passed to NormalizeVersion function (#11087)
  • Passage de l’infrastructure .NET Core à la version 3.1-preview.3 (#11079)Bump .NET core framework to 3.1-preview.3 (#11079)
  • Passage de PSReadLine de 2.0.0-beta5 à 2.0.0-beta6 dans/src/Modules (#11078)Bump PSReadLine from 2.0.0-beta5 to 2.0.0-beta6 in /src/Modules (#11078)
  • Passage de Newtonsoft.Json de 12.0.2 à 12.0.3 (#11037) (#11038)Bump Newtonsoft.Json from 12.0.2 to 12.0.3 (#11037) (#11038)
  • Ajout des packages Debian 10, 11 et CentOS 8 (#11028)Add Debian 10, 11 and CentOS 8 packages (#11028)
  • Chargement du fichier Json Build-info avec le champ ReleaseDate (#10986)Upload Build-Info Json file with the ReleaseDate field (#10986)
  • Passage de l’infrastructure .NET Core à la version 3.1-preview.2 (#10993)Bump .NET core framework to 3.1-preview.2 (#10993)
  • Activation de la build du package MSIX x86 (#10934)Enable build of x86 MSIX package (#10934)
  • Mise à jour de l’URL du script d’installation du kit de développement logiciel (SDK) dotnet dans build.psm1 (#10927)Update the dotnet SDK install script URL in build.psm1 (#10927)
  • Passage de Markdig.Signed de 0.17.1 à 0.18.0 (#10887)Bump Markdig.Signed from 0.17.1 to 0.18.0 (#10887)
  • Passage de ThreadJob de 2.0.1 à 2.0.2 (#10886)Bump ThreadJob from 2.0.1 to 2.0.2 (#10886)
  • Mise à jour du manifeste AppX et du module de packaging pour respecter les exigences du MS Store (#10878)Update AppX Manifest and Packaging module to conform to MS Store requirements (#10878)
  • Mise à jour de la référence de package pour le kit de développement logiciel (SDK) PowerShell vers preview.5 (interne 10295)Update package reference for PowerShell SDK to preview.5 (Internal 10295)
  • Mise à jour de ThirdPartyNotices.txt (#10834)Update ThirdPartyNotices.txt (#10834)
  • Passage de Microsoft. PowerShell.Native à 7.0.0-preview.3 (#10826)Bump Microsoft.PowerShell.Native to 7.0.0-preview.3 (#10826)
  • Passage de Microsoft.ApplicationInsights 2.10.0 à 2.11.0 (#10608)Bump Microsoft.ApplicationInsights from 2.10.0 to 2.11.0 (#10608)
  • Passage de NJsonSchema de 10.0.24 à 10.0.27 (#10756)Bump NJsonSchema from 10.0.24 to 10.0.27 (#10756)
  • Ajout de la prise en charge MacPorts au système de build (#10736) (Merci @Lucius-Q-User !)Add MacPorts support to the build system (#10736) (Thanks @Lucius-Q-User!)
  • Passage de PackageManagement de 1.4.4 à 1.4.5 (#10728)Bump PackageManagement from 1.4.4 to 1.4.5 (#10728)
  • Passage de NJsonSchema de 10.0.23 à 10.0.24 (#10635)Bump NJsonSchema from 10.0.23 to 10.0.24 (#10635)
  • Ajout d’une variable d’environnement pour différencier la télémétrie client/serveur dans MSI (#10612)Add environment variable to differentiate client/server telemetry in MSI (#10612)
  • Passage de PSDesiredStateConfiguration de 2.0.3 à 2.0.4 (#10603)Bump PSDesiredStateConfiguration from 2.0.3 to 2.0.4 (#10603)
  • Passage de Microsoft.CodeAnalysis.CSharp de 3.2.1 à 3.3.1 (#10607)Bump Microsoft.CodeAnalysis.CSharp from 3.2.1 to 3.3.1 (#10607)
  • Mise à jour vers .Net Core 3.0 RTM (#10604) (Merci @bergmeister !)Update to .Net Core 3.0 RTM (#10604) (Thanks @bergmeister!)
  • Mise à jour du packaging MSIX pour que la version réponde aux exigences du Windows Store (#10588)Update MSIX packaging so the version to Windows Store requirements (#10588)
  • Passage de la version PowerShellGet de 2.2 à 2.2.1 (#10382)Bump PowerShellGet version from 2.2 to 2.2.1 (#10382)
  • Passage de PackageManagement de 1.4.3 à 1.4.4 (#10383)Bump PackageManagement version from 1.4.3 to 1.4.4 (#10383)
  • Mise à jour de README.md et de metadata.json vers 7.0.0-preview.4 (interne 10011)Update README.md and metadata.json for 7.0.0-preview.4 (Internal 10011)
  • Mise à niveau de la version de .Net Core 3.0 de la préversion 9 à la version finale RC1 (#10552) (Merci @bergmeister !)Upgrade .Net Core 3.0 version from Preview 9 to RC1 (#10552) (Thanks @bergmeister!)
  • Correction de la génération de la liste ExperimentalFeature (interne 9996)Fix ExperimentalFeature list generation (Internal 9996)
  • Passage de la version de PSReadLine de 2.0.0-beta4 à 2.0.0-beta5 (#10536)Bump PSReadLine version from 2.0.0-beta4 to 2.0.0-beta5 (#10536)
  • Correction du script de build de version pour définir la balise de mise en productionFix release build script to set release tag
  • Mise à jour de la version de Microsoft.PowerShell.Native vers 7.0.0-preview.2 (#10519)Update version of Microsoft.PowerShell.Native to 7.0.0-preview.2 (#10519)
  • Mise à niveau vers Netcoreapp3.0 preview9 (#10484) (Merci @bergmeister !)Upgrade to Netcoreapp3.0 preview9 (#10484) (Thanks @bergmeister!)
  • Assurez-vous que la build coordonnée quotidienne sait qu’il s’agit d’une build quotidienne (#10464)Make sure the daily coordinated build, knows it is a daily build (#10464)
  • Mise à jour de la build du package combiné pour publier les builds quotidiennes (#10449)Update the combined package build to release the daily builds (#10449)
  • Suppression de la référence appveyor (#10445) (Merci @RDIL !)Remove appveyor reference (#10445) (Thanks @RDIL!)
  • Passage de la version de NJsonSchema de 10.0.22 à 10.0.23 (#10421)Bump NJsonSchema version from 10.0.22 to 10.0.23 (#10421)
  • Suppression de l’effacement du dossier de build Linux-x64, car certaines dépendances pour Alpine en ont besoin (#10407)Remove the deletion of linux-x64 build folder because some dependencies for Alpine need it (#10407)

Contenu de la documentation et de l'aideDocumentation and Help Content

  • Refactorisation des journaux de modification dans un seul journal par version (#11165)Refactor change logs into one log per release (#11165)
  • Correction de FWLinks pour les documents d’aide en ligne de PowerShell 7 (#11071)Fix FWLinks for PowerShell 7 online help documents (#11071)
  • Mise à jour de CONTRIBUTING.md (#11096) (Merci @mklement0 !)Update CONTRIBUTING.md (#11096) (Thanks @mklement0!)
  • Correction des liens du document d’installation dans README.md (#11083)Fix installation doc links in README.md (#11083)
  • Ajout d’exemples au script install-powershell.ps1 (#11024) (Merci @kilasuit !)Adds examples to install-powershell.ps1 script (#11024) (Thanks @kilasuit!)
  • Correction de l’accentuation de Select-String et d’Import-DscResource dans CHANGELOG.md (#10890)Fix to Select-String emphasis and Import-DscResource in CHANGELOG.md (#10890)
  • Suppression du lien obsolète de powershell-beginners-guide.md (#10926)Remove the stale link from powershell-beginners-guide.md (#10926)
  • Fusion des journaux de modification stables et de maintenance (#10527)Merge stable and servicing change logs (#10527)
  • Mise à jour de la version .NET utilisée dans les documents de build (#10775) (Merci @Greg-Smulko !)Update used .NET version in build docs (#10775) (Thanks @Greg-Smulko!)
  • Remplacez les liens de MSDN par docs.microsoft.com dans powershell-beginners-guide.md (#10778) (Merci @iSazonov !)Replace links from MSDN to docs.microsoft.com in powershell-beginners-guide.md (#10778) (Thanks @iSazonov!)
  • Correction du lien de vue d’ensemble DSC rompu (#10702)Fix broken DSC overview link (#10702)
  • Mise à jour de Support_Question.md pour créer un lien vers Stack Overflow comme une autre ressource de la communauté (#10638) (Merci @mklement0 !)Update Support_Question.md to link to Stack Overflow as another community resource (#10638) (Thanks @mklement0!)
  • Ajout d’une architecture de processeur au modèle de demande de distribution (#10661)Add processor architecture to distribution request template (#10661)
  • Ajout d’un nouveau livre PowerShell MoL aux documents d’apprentissage PowerShell (#10602)Add new PowerShell MoL book to learning PowerShell docs (#10602)
  • Mise à jour de README.md et des métadonnées pour les versions v6.1.6 and v6.2.3 (#10523)Update README.md and metadata for v6.1.6 and v6.2.3 releases (#10523)
  • Correction d’une faute de frappe dans README.md (#10465) (Merci @vedhasp !)Fix a typo in README.md (#10465) (Thanks @vedhasp!)
  • Ajout d’une référence au module PSKoans de la documentation des ressources de formation (#10369) (Merci @vexx32!)Add a reference to PSKoans module to Learning Resources documentation (#10369) (Thanks @vexx32!)
  • Mise à jour de README.md et de metadata.json vers 7.0.0-preview.3 (interne 10393)Update README.md and metadata.json for 7.0.0-preview.3 (#10393)