Liste des nouvelles fonctionnalités de PowerShell 7

La prochaine version majeure de PowerShell est sortie et apporte des changements importants. La septième version inclut des fonctionnalités telles que l'exécution parallèle, l'importation de modules pour l'exécution à distance, de nouveaux opérateurs, etc. Dans cet article, nous examinons toutes les nouvelles(New) fonctionnalités de PowerShell 7.0 .

Fonctionnalités de PowerShell 7

Modifications du répertoire PowerShell

Lorsque vous installez PowerShell 7(install PowerShell 7) , il s'installe dans un nouveau répertoire et s'exécute avec PowerShell 5.1 . Si vous effectuez une mise à niveau à partir de PowerShell Core 6.x , il écrasera le répertoire PowerShell 6 et supprimera tous les fichiers inutiles. Voici la liste des répertoires que vous devez connaître :

PowerShell 7 est installé pour-

%programfiles%\PowerShell\7

Le dossier  %programfiles%\PowerShell\7 est ajouté à $env:PATH

Les packages d'installation de PowerShell 7 mettent à niveau les versions précédentes de PowerShell Core 6.x :

PowerShell Core 6.x sous Windows :(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

est remplacé par 

%programfiles%\PowerShell\7

Linux :

/opt/microsoft/powershell/6

est remplacé par 

/opt/microsoft/powershell/7

macOS : 

/usr/local/microsoft/powershell/6

est remplacé par

/usr/local/microsoft/powershell/7

Nouvelles fonctionnalités de PowerShell 7

J'ai essayé d'expliquer brièvement chacune de ces fonctionnalités et comment cela aidera les utilisateurs de (users)PowerShell . Cependant, assurez-vous de lire plus en détail sur la page officielle de Microsoft .

  1. Parallélisation de pipeline
  2. Nouveaux opérateurs
  3. Applet de commande ConciseView et Get-(Get-Error) Error
  4. Notifications automatiques de nouvelle version
  5. Appelez les ressources DSC(Invoke DSC) directement depuis PowerShell 7
  6. Couche de compatibilité

Assurez-vous toujours de vérifier la variable d'environnement(Environment Variable) avant de tester les codes réels.

1] Parallélisation du pipeline

Vous pouvez maintenant exécuter ou gérer des objets en parallèle au lieu de la méthode de séquence lors de l'utilisation de ForEach-Object -Parallel. Dans notre article sur la désinstallation de WIM , cette méthode peut démonter trois images WIM en un peu moins de 10 secondes au lieu de près de 25 secondes lors d'une exécution séquentielle. Voici un exemple de code pour cela :

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] Nouveaux opérateurs

Il y a trois nouveaux opérateurs Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.Ceux-ci se comportent comme se comportent comme une instruction if-else simplifiée. (behaves like a simplified if-else statement.)Ils facilitent l'écriture du code au lieu d'utiliser la boucle If-else tout le temps.

3] Applet de commande ConciseView(ConciseView) et Get-Error

Obtenir la commande d'erreur Let PowerShell 7

ConciseView est une vue sélectionnable par l'utilisateur qui est activée comme vue par défaut de PowerShell 7 . Si l'erreur ne provient pas du script, vous recevrez une erreur sur une seule ligne. Cependant, s'il provient du script ou s'il y a une erreur d'analyse, vous recevrez un message d'erreur multiligne et un pointeur indiquant sur quelle ligne l'erreur s'est produite.

Ensuite, vous disposez d'une nouvelle applet de commande Get-Error qui peut vous aider à obtenir une vue détaillée de l'erreur lorsque vous le souhaitez. Il peut afficher tous les détails, y compris les exceptions internes, de la dernière erreur qui s'est produite.

$Error | Get-Error

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

4 ] Notifications automatiques de nouvelle version(] Automatic)

À partir de PowerShell 7 , le système vérifiera les mises à jour une fois par jour et vous informera d'une nouvelle version si elle est disponible. Les informations ne sont affichées qu'au début des sessions suivantes. Trois indicateurs sont disponibles pour la mise à jour de PowerShell(PowerShell Update)

  • (Default )Versions GA, Preview et RC par défaut
  • Désactivé(Off) Â désactive la fonction de notification de mise à jour
  • LTS Â notifie uniquement les mises à jour des versions GA de maintenance à long terme ( LTS )

Si vous souhaitez désactiver les notifications de mise à jour dans PowerShell 7 , exécutez cette commande dans la fenêtre PowerShell .

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] Appelez les ressources DSC(Invoke DSC) directement à partir de PowerShell 7

L'applet de commande Invoke-DscResource(Invoke-DscResource) exécute  une méthode d'une ressource PowerShell Desired State Configuration ( DSC ) spécifiée. C'est une fonctionnalité expérimentale.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] Couche de compatibilité

Il permet aux utilisateurs de PowerShell d'importer des modules dans une session Windows PowerShell implicite. (Windows PowerShell)En utilisant cela, vous pourrez exécuter la commande réelle en tant que session sur l'ordinateur distant et renvoyer les résultats à la session locale. Maintenant qu'il prend en charge l'importation de modules, vous pouvez exécuter ces modules sur des ordinateurs distants.

PowerShell est un logiciel open source disponible également sur Linux et macOS. C'est formidable de voir autant de nouvelles fonctionnalités dans PowerShell 7 et nous espérons qu'elles continueront de croître. Vous pouvez en savoir plus sur Microsoft(about it on Microsoft) .



About the author

Je travaille comme consultant pour Microsoft. Je me spécialise dans le développement d'applications mobiles pour les appareils Apple et Android, et je suis également impliqué dans le développement d'applications Windows 7. Mon expérience avec les smartphones et Windows 7 fait de moi un candidat idéal pour ce poste.



Related posts