PowerShell est maintenant disponible sur Linux en tant que paquet snap
Pour une meilleure prise en charge des distributions Linux

Le , par Michael Guilloux, Chroniqueur Actualités
Microsoft vient d'annoncer la disponibilité de son langage de Shell, PowerShell, sous Linux en tant que paquet snap. Cette version de PowerShell pour Linux est le résultat de l'ouverture de PowerShell il y a deux ans.

PowerShell ou Windows PowerShell est une suite logicielle développée par Microsoft qui intègre une interface en ligne de commande, un langage de script nommé PowerShell ainsi qu'un kit de développement. Il est spécialement conçu pour les administrateurs système et les utilisateurs avancés afin d’automatiser rapidement l’administration de plusieurs systèmes d’exploitation et les processus liés aux applications qui s’exécutent sur ces systèmes d’exploitation.

PowerShell est initialement inclus dans Windows 7 à Windows 10 (y compris les versions grand public) et s'appuie sur le framework Microsoft .NET. Mais avec le passage de .NET Framework à .NET Core, Microsoft a décidé de développer une version de PowerShell qui va utiliser .NET Core 2.0 comme runtime et non .NET Framework. C’est ainsi qu’en août 2016, le géant du logiciel a annoncé le passage de PowerShell en open source sous une nouvelle version baptisée PowerShell Core.

Après quelques préversions, Microsoft a annoncé en janvier dernier la disponibilité générale et la prise en charge de PowerShell Core 6.0. Il s'agit de la première version de la nouvelle édition de PowerShell qui est multiplateforme et open source. Dans un récent billet de blog, Microsoft explique que l'objectif est de faire de PowerShell Core un langage omniprésent pour la gestion du cloud hybride. C'est pourquoi l'entreprise a travaillé pour le rendre, autant que possible, disponible sur de nombreux systèmes d'exploitation (Windows, macOS, distributions Linux) et architectures.

Le nouveau PowerShell n'était toutefois pas facilement disponible sur les distributions Linux, car la livraison d'applications via les anciennes méthodes d'empaquetage rpm et deb est difficile. C'est pour cela que Microsoft lance aujourd'hui PowerShell Core en tant que paquet snap.


Les paquets snap sont des applications conteneurisées qui peuvent être installées sur de nombreuses distributions Linux sans modification, et par rapport aux paquets Linux traditionnels (par exemple deb ou rpm), ils présentent un certain nombre d'avantages. Comme l'explique Microsoft, les paquets snap transportent toutes leurs dépendances, de sorte que vous n'avez pas besoin de vous soucier des versions spécifiques des bibliothèques partagées installées sur votre machine. Ils peuvent également être installés sans accorder à l'éditeur l'accès root à la machine hôte, mais en plus, ils sont plus « sûrs à exécuter », car ils n'interagissent pas avec d'autres applications ou fichiers système sans votre permission. À cela s'ajoute le fait que les mises à jour de paquets snaps ont lieu automatiquement.

Le géant du logiciel précise toutefois qu'il va continuer à supporter les paquets Linux « traditionnels », même si le snap PowerShell Core se présente un meilleur choix.

Sources : Blog Microsoft, Blog Ubuntu

Et vous ?

Pensez-vous qu'avec le paquet snap, PowerShell Core pourrait-il être aussi intéressant que Bash en tant que langage de Shell pour Linux ? Pourquoi ?

Voir aussi :

Vous pouvez maintenant utiliser Linux pour administrer à distance des machines Windows, avec un accès distant PowerShell via SSH
Microsoft annonce la disponibilité générale de PowerShell Core 6.0, la première version de la nouvelle édition multiplateforme de PowerShell
Microsoft annonce la disponibilité de PowerShell Module Browser, une application Web de recherche de cmdlets
Microsoft annonce la disponibilité de la version 1.0 de l'extension PowerShell pour Visual Studio Code sur Windows, macOS et Linux
Meltdown et Spectre : un outil PowerShell est disponible, il permet de faire l'état des lieux des protections sous Windows


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Neckara Neckara - Expert éminent sénior https://www.developpez.com
le 24/07/2018 à 8:43
Qu'est-ce que PowerShell apporte de plus que bash ?
Avatar de Pierre GIRARD Pierre GIRARD - Expert éminent https://www.developpez.com
le 24/07/2018 à 8:53
J'allais le demander. Autant cet outil est utile sur Windows, autant les UNIX/LINUX sont largement fournis (BSH, CSH, KSH, BASH). Les administrateurs ne vont certainement pas reprendre tous leurs scripts pour repartir à zéro avec PowerShell.
Avatar de hotcryx hotcryx - Membre extrêmement actif https://www.developpez.com
le 24/07/2018 à 9:30
Citation Envoyé par Neckara Voir le message
Qu'est-ce que PowerShell apporte de plus que bash ?
Le binding .NET
Avatar de Bono_BX Bono_BX - Membre confirmé https://www.developpez.com
le 24/07/2018 à 10:36
Citation Envoyé par Pierre GIRARD Voir le message
J'allais le demander. Autant cet outil est utile sur Windows, autant les UNIX/LINUX sont largement fournis (BSH, CSH, KSH, BASH). Les administrateurs ne vont certainement pas reprendre tous leurs scripts pour repartir à zéro avec PowerShell.
Alors, pour répondre à ta question ... à peu prêt rien du tout ! Les shells Unix/Linux sont de base très complets.
Après, Power Shell est beaucoup plus proche d'un langage de programmation que d'un shell (attention, avis strictement personnel), et je trouve que Microsoft s'est loupé sur ce coup là.
On peut voir comme avantage l'interfaçage simple avec les applications, principalement en .Net (et non, le binding .Net est loin d'être risible, même si des bibliothèques font mieux que celui de base). Ca peut être intéressant dans le cadre de SQL Server sous Linux, qui prend des scripts PowerShell.

Après ... c'est sûr que ça va vite être limité, à mon avis.
Avatar de kriska kriska - Nouveau membre du Club https://www.developpez.com
le 24/07/2018 à 13:42
L'intérêt selon moi est de faciliter le rapprochement de Linux et Windows. Cela fait un moment que Windows va dans ce sens (Linux embarqué sous Win 10, Visual Studio Code, passage de framework en open source et sous Linux, etc).
La cible n'est pas les utilisateurs Linux mais plutôt les utilisateurs windows qui migrent des parties serveurs sous Linux et réutilisent leurs scripts par exemple.

Après tout rien n'oblige à l'utiliser (je continuerai en bash ou plutôt actuellement en Python) mais je trouve ça bien qu'ils le fassent.
A ce propos en y réfléchissant, ils souhaitent peut-être devenir comme un Python like à terme : un language de script/programmation et interpréteur dédié multiplateforme
Avatar de Gugelhupf Gugelhupf - Modérateur https://www.developpez.com
le 24/07/2018 à 15:18
C'est l'outil intégré à Windows qui se raproche le plus du shell sous Linux, c'est un peu mieux que "cmd.exe" mais quel outil horrible sérieusement, c'est lent, ça lance des bips cacophoniques tout le temps (lorsque l'on appuie sur la touche backslash et qu'il n'y a plus rien à supprimer par exemple), et il manque de nombreuses fonctionnalités de base que l'on pourrait retrouver sous le shell Linux. Je remercie Microsoft pour ses outils comme Visual Code, mais ce PowerShell n'est clairement pas un cadeau pour qui que ce soit.
Avatar de Michael Guilloux Michael Guilloux - Chroniqueur Actualités https://www.developpez.com
le 14/09/2018 à 12:10
PowerShell Core 6.1 est disponible :
support de .NET Core 2.1, compatibilité avec les modules spécifiques à Windows, cmdlets et rendu Markdown et plus

Microsoft a annoncé hier la dernière version de PowerShell Core (6.1), l'édition open source de PowerShell qui fonctionne à la fois sous Linux, macOS et Windows.

Pour rappel, PowerShell ou Windows PowerShell est une suite logicielle développée par Microsoft qui intègre une interface en ligne de commande, un langage de script nommé PowerShell ainsi qu'un kit de développement. Il est inclus dans Windows 7 à Windows 10 (y compris les versions grand public) et s'appuie sur le framework Microsoft .NET.

Mais avec le passage de .NET Framework à .NET Core, Microsoft a décidé de développer une version de PowerShell qui va utiliser .NET Core 2.0 comme runtime et non .NET Framework. C’est ainsi qu’en août 2016, le géant du logiciel a annoncé le passage de PowerShell en open source et lancé PowerShell Core. Après quelques préversions, Microsoft a annoncé, en janvier dernier, la disponibilité générale et la prise en charge de PowerShell Core 6.0. Il s'agit de la première version de la nouvelle édition open source et multiplateforme de PowerShell. La version 6.1 est donc la première mise à jour de PowerShell Core depuis sa disponibilité générale.

La plus grande fonctionnalité de cette mise à jour est de loin la compatibilité des modules Windows avec PowerShell Core. Cela signifie que vous pouvez désormais exécuter nativement ces modules/cmdlets avec PowerShell Core et faire facilement une transition depuis Windows PowerShell. Cela a été possible en ajoutant le pack de compatibilité Windows pour .NET Core à PowerShell Core 6.1 ; ce qui permet à PowerShell Core d'utiliser plus de 1900 cmdlets fournies avec Windows 10 October 2018 Update et Windows Server 2019.

Mais il y a encore bien d'autres nouveautés dans cette version de PowerShell Core, notamment :

Support de .NET Core 2.1

PowerShell Core 6.1 est passé à .NET Core 2.1 (disponible depuis le mois de mai), ce qui permet d'introduire plusieurs améliorations à PowerShell Core, y compris des améliorations de performances ; la prise en charge d'Alpine Linux (préversion) ; le support bientôt disponible de .NET Core Global Tools (un nouveau mécanisme de déploiement et d'extensions introduit par .NET Core 2.1 pour ses outils) ; et Span <T>.

Amélioration des performances

PowerShell Core 6.0 avait déjà apporté des améliorations de performances significatives. PowerShell Core 6.1 continue donc dans ce sens en améliorant la vitesse de certaines opérations. Par exemple, Group-Object a été accéléré de 66 %. De même, les temps d'exécution de certains scénarios de tri ont été améliorés de plus de 15 %. Notons encore que l'opération Import-Csv a aussi été accélérée de manière significative. Enfin, la conversion de JSON en PSObject a été accélérée de plus de 50 % depuis Windows PowerShell.

cmdlets et rendu Markdown

Rappelons que Markdown est un standard pour la création de documents en texte lisible avec un formatage de base qui peut être rendu en HTML. Dans cette version de PowerShell Core, Microsoft dit avoir ajouté des cmdlets qui vous permettent de convertir et d'afficher des documents Markdown dans la console. Il s'agit entre autres de ConvertFrom-Markdown ; Get-MarkdownOption ; Set-MarkdownOption ; et Show-Markdown.

Show-Markdown, par exemple, génère un fichier Markdown dans la console :


Et bien plus...

L'équipe PowerShell a implémenté de nombreux petits changements pour rendre PowerShell Core plus stable et plus rapide. Il convient aussi de noter que PowerShell Core 6.1 introduit des flags pour les fonctionnalités expérimentales, pour permettre aux utilisateurs d'activer des fonctionnalités qui n'ont pas encore été finalisées. Soulignons toutefois qu'elles ne sont pas prises en charge et peuvent avoir des bogues. PowerShell Core 6.1 vient aussi avec la prise en charge des dernières versions de Windows, MacOS et Linux.

Sources : Blog PowerShell, Notes de version PowerShell Core 6.1

Et vous ?

Utilisez-vous déjà PowerShell Core ?
Que pensez-vous de ces nouveautés ?

Voir aussi :

PowerShell est maintenant disponible sur Linux en tant que paquet snap, pour une meilleure prise en charge des distributions Linux
Vous pouvez maintenant utiliser Linux pour administrer à distance des machines Windows, avec un accès distant PowerShell via SSH
Microsoft annonce la disponibilité générale de PowerShell Core 6.0, la première version de la nouvelle édition multiplateforme de PowerShell
Microsoft annonce la disponibilité de PowerShell Module Browser, une application Web de recherche de cmdlets
Microsoft annonce la disponibilité de la version 1.0 de l'extension PowerShell pour Visual Studio Code sur Windows, macOS et Linux
Avatar de Aeson Aeson - Nouveau Candidat au Club https://www.developpez.com
le 16/09/2018 à 10:08
Pas si cross-platforme que ca... Pour attaquer un AD depuis un Linux il faut le faire via une session ssh sur un Windows qui lui attaquera l'AD....
Avatar de Mklord34 Mklord34 - Candidat au Club https://www.developpez.com
le 17/09/2018 à 15:03
Si vous voulez tester vos connaissances il y a "Quiz My Powershell" sous Android
Jusqu'à 1000 Questions....
bonne journée

Alexandre
Contacter le responsable de la rubrique Accueil