PowerShell Core 6.0 est officiellement disponible !

Alors que Microsoft propose depuis de nombreuses années Windows PowerShell nativement au sein de ses systèmes d'exploitation depuis Windows 7 et Windows Server 2008, c'est aujourd'hui PowerShell Core 6.0 qui est officiellement disponible. Annoncé en août 2016, cette version de PowerShell présente l'énorme avantage d'être multiplateforme, c'est-à-dire compatible Linux, MacOS et Windows bien entendu.

Mais ce n'est pas tout, cette version est Open Source et est conçue pour les environnements hétérogènes, hybrides. Après plusieurs mois de développement et différentes préversions, Microsoft annonce la disponibilité générale de PowerShell Core, basé sur .NET Core 2.0 et non le .NET Framework.

Deux versions de PowerShell, d'accord... Mais pour quels OS ?

Vous l'aurez compris, il y a désormais deux PowerShell différents : Windows PowerShell qui s'appuie sur .NET Framework et destiné à Windows, aussi bien les éditions clientes que serveurs. Puis, d'un autre côté PowerShell Core qui s'appuie sur .NET Core, compatible avec divers OS : Windows 7, 8.1 et 10, Windows Server 2008 R2, 2012 R2 et 2016, Ubuntu 14.04, 16.04 et 17.04, Debian 8.7 et 9, ainsi que CentOS 7 et Red Hat Enterprise Linux 7, Fedora 25 et 26, OpenSUSE 42.2, et MacOS à partir de la version 10.12.

D'autres plateformes ne sont pas encore officiellement supportées, mais en cours de développement par la communauté PowerShell Core : Kali Linux, Arch Linux, Raspbian, ou encore Windows sur architectures ARM32/ARM64.

PowerShell Core : comment l'exécuter ?

Sur une machine Windows vous pourrez faire cohabiter Windows Powershell avec Powershell Core car le nom de l'exécutable n'est pas le même. En effet, PowerShell Core s'exécute à partir de la commande pwsh.exe (ou pwsh) alors que Windows PowerShell utilise powershell.exe.

PowerShell Core : quels sont les modules compatibles ?

Des modules sont intégrés nativement à Powershell Core, voici la liste indiquée par Microsoft :

- CimCddlets
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Diagnostics
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Microsoft.WSMan.Management
- PackageManagement
- PowerShellGet
- PSDesiredStateConfiguration
- PSDiagnostics
- PSReadLine

Pour le moment, il n'y a pas de garantie que les modules first-party de Microsoft fonctionneront avec PowerShell Core. Ceci concerne les modules intégrés à Windows (client et serveur), les modules intégrés à un produit Microsoft comme Exchange, ou encore les modules de la Powershell Gallery.

Pour être plus précis sur la Powershell Gallery, vous pouvez trouver les modules compatibles en recherchant le terme "PSEdition_Core" dans la zone de recherche.

Quel éditeur choisir ?

Bien que PowerShell ISE reste intégré à Windows et qu'il semble être le partenaire idéal pour commencer le scripting PowerShell, il s'avère qu'un autre produit gratuit est très intéressant : Visual Studio Code. Tout comme PowerShell Core, il présente l'énorme avantage d'être multiplateforme ! Et en plus, depuis plusieurs mois une extension PowerShell officielle est disponible pour VSCode, ce qui ajoute des fonctionnalités adaptées au script PowerShell.

Annonce officielle

Téléchargement sur GitHub

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5561.Voir tous les posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.