Les développeurs de Microsoft ont récemment annoncé la sortie de la version finale de PowerShell 7 dans un article de blog . Elle est désormais disponible pour Windows, macOS et Linux. Cette dernière version inclut de nouvelles fonctionnalités liées à la prise en charge de .NET Core et de nouveaux opérateurs.
PowerShell est optimisé pour l'automatisation des opérations en ligne de commande et fournit des outils intégrés pour le traitement des données structurées dans des formats tels que JSON, CSV et XML, et prend également en charge les API REST et les modèles d'objets.
En plus de l'interpréteur de commandes, un langage de script orienté objet et un ensemble d'utilitaires pour la gestion des modules et des scripts sont proposés.
À partir de la branche PowerShell 6, le projet a été développé à l'aide de la plateforme .NET Core. Par défaut, PowerShell transfère la télémétrie avec la description du système d'exploitation et la version du programme (pour désactiver la télémétrie, vous devez définir la variable d'environnement POWERSHELL_TELEMETRY_OPTOUT = 1 avant de démarrer).
Quoi de neuf dans PowerShell 7?
En résumé, PowerShell 7 intègre les changements suivants : migration de .Net Core version 2.x vers la nouvelle version 3.1 et introduction des opérateurs ternaires « a? b: c » et de l'affectation et de la fusion à zéro «? » et «?? = ».
La mise à jour .Net Core 2.xa 3.1 introduite dans cette nouvelle version de PowerShell 7 permet une meilleure compatibilité avec les modules PowerShell existants pour Windows.
«Si vous n’avez pas pu utiliser PowerShell Core 6.x par le passé en raison de problèmes de compatibilité inter-modules, c’est peut-être la première fois que vous pourrez profiter de certaines des fonctionnalités exceptionnelles que nous déjà fourni. Depuis le début du projet PowerShell Core! «, Souligne Microsoft.
Il ajoute que:
»Le passage PowerShell Core 6.x vers 7.0 marque également notre passage .NET Core 2.x vers 3.1.
.NET Core 3.1 réintègre un grand nombre d'API du .NET Framework (notamment sous Windows), ce qui améliore considérablement la compatibilité avec les modules Windows PowerShell existants. Cela inclut de nombreux modules Windows nécessitant des fonctionnalités d'interface graphique, tels que Out-GridView et Show-Command, ainsi que de nombreux modules de gestion des rôles fournis avec Windows.
La liste complète des systèmes d'exploitation pris en charge est proposée sous forme de variantes x64 de Windows 7, 8.1 et 10, Windows Server 2008 R2, 2012, 2012 R2, 2016 et 2019, macOS 10.13+, Red Hat Enterprise Linux (RHEL) / CentOS 7 +, Fedora 29+, Debian 9+, Ubuntu 16.04+, openSUSE 15+ et Alpine Linux 3.8+.
Les distributions Debian et Ubuntu pour architectures ARM32 et ARM64 sont également prises en charge, de même que la distribution Alpine Linux pour architecture ARM64. Microsoft indique que, bien que non officiellement prises en charge, des paquets développés par la communauté existent pour Arch et Kali Linux. PowerShell 7 est disponible au téléchargement sur GitHub , et la documentation d'installation est également disponible pour Windows, macOS et Linux.
Microsoft se tourne déjà vers PowerShell 7.1, dont la première version préliminaire sera bientôt disponible. En attendant, revenons sur les nouvelles fonctionnalités qui font la particularité de PowerShell 7 :
- .NET Core 3.1 (LTS)
- Enveloppe de compatibilité Windows
- notification de nouvelle version
- nouvelle vue d'erreur et applet de commande Get-Error
- opérateurs de chaînes de canalisations (&& et |||)
- opérateur ternaire (a? b: c)
- Opérateurs d'assignation et de coalescence nulles (??? et ?? =)
- invoke-DscResource multiplateforme (expérimental)
- out-GridView, -ShowWindowWindow et d'autres applets de commande GUI sont de retour dans Windows
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.
Comment installer PowerShell 7 sur Linux?
Pour ceux qui souhaitent installer cette nouvelle version de PowerShell sur leur système, vous pouvez obtenir les paquets préparés pour différentes distributions Linux à partir du lien suivant.
Bien que vous puissiez généralement installer l'application à l'aide des paquets Snap , la seule condition requise est que votre système prenne en charge l'installation de ce type de paquet et que le service soit installé.
Pour effectuer l'installation, ouvrez simplement un terminal et exécutez la commande suivante :
snap install powershell --classic
Enfin, dans le cas où l'on opte pour des paquets spécialement conçus pour chaque distribution.
L'installation peut se faire avec le geste de votre package ou depuis le terminal avec dpkg (pour les packages deb ou avec rpm ou dnf (pour les packages rpm).
Par exemple, dans le cas des packages deb:
sudo dpkg -i powershell-7.0.0-1*.deb
Dans le cas de RPM dans les distributions générales avec:
sudo rpm -i powershell-7.0.0-1*.rpm
Ou dans le cas de Fedora ou RHEL:
sudo dnf -i powershell-7.0.0-1*.rpm