PowerShell contre PowerShell Core, ce que vous devez savoir

Microsoft a annoncé la disponibilité générale de PowerShell Core 6.0 le 10 janvier 2018.

PowerShell Core est une nouvelle version de PowerShell, un shell de ligne de commande et un langage de script fournis avec Microsoft Windows.

La publication de PowerShell Core augmente le nombre d’éditions PowerShell à deux. Il y a PowerShell, vieux de 10 ans, intégré dans toutes les versions récentes du système d'exploitation Windows de Microsoft et dans le nouveau PowerShell Core.

Microsoft considère PowerShell Core comme une évolution de PowerShell. Le premier est disponible en tant qu'application multiplate-forme, le dernier uniquement pour Windows.

La nature multiplate-forme de PowerShell Core signifie que les scripts que vous écrivez seront exécutés sur tout système d'exploitation pris en charge. Vous pouvez écrire des scripts PowerShell Core sous Windows et les utiliser sur des périphériques Mac OS X ou Linux pris en charge. Il existe même des versions expérimentales (non prises en charge) pour les périphériques ARM.

Microsoft travaille activement sur PowerShell Core. PowerShell, en revanche, se trouve dans un état qui peut être comparé à la prise en charge étendue des versions Windows. Microsoft n'a pas l'intention d'ajouter des fonctionnalités à PowerShell, mais il publiera des correctifs de bogues critiques et des mises à jour de sécurité.

Toutefois, il n’est actuellement pas prévu d’introduire de nouvelles fonctionnalités dans Windows PowerShell. Cela signifie que le risque de régression sera très faible pour Windows PowerShell. Vous pouvez donc compter sur cette plate-forme en tant que plate-forme stable pour vos charges de travail existantes.

PowerShell Core est installé côte à côte sous Windows. En bref: PowerShell Core n’affecte en aucun cas Windows PowerShell sur les périphériques Windows.

PowerShell Core 6.0 n’est pas aussi puissant que PowerShell 5.1. L'une des principales raisons à cela est que PowerShell a accès à .NET Framework et à .NET Standard, tandis que PowerShell Core est associé aux concepts .NET Core et .NET Standard, moins riches en fonctionnalités.

Certaines technologies disponibles dans Windows PowerShell ne sont pas prises en charge par .NET Core. Microsoft note que certaines des technologies pourraient revenir dans des versions ultérieures, mais que ce ne sera pas le cas pour toutes.

La société mentionne les flux de travail PowerShell, les composants logiciels enfichables PowerShell, les cmdlets WMlv1 et l'exécution spécifique des ressources de configuration d'état souhaité. Le document Breaking changes for PowerShell 6.0 fournit des détails supplémentaires.

Les différences entre PowerShell et PowerShell Core

PowerShellPowerShell Core
Les versions1, 0 à 5, 16.0
PlateformesWindows uniquement (client et serveur)Windows, Mac OS, Linux
Dépendance.Net Framework.Net Core
UsageS'appuie sur le runtime .Net FrameworkS'appuie sur le runtime .Net Core
Lancé commePowershell.exepwsh.exe (Windows), pwsh (Mac et Linux)
$ PSVersionTable.PSEditionDéfinir sur le bureauDéfinir sur Core
Politique de mise à jourcorrections de bogues critiques uniquementtoutes les mises à jour (fonctionnalités, bugs)

Téléchargements PowerShell Core

  • PowerShell Core for Windows est disponible à ce lien.
  • PowerShell Core pour Mac OS X et Linux est disponible à ce lien.