PowerShell fonctionne-t-il sur d'autres systèmes d'exploitation que Windows?
Cela peut être très frustrant lorsque votre professeur dit une chose à propos de PowerShell et que divers sites Web semblent offrir une preuve irréfutable du contraire. PowerShell fonctionne-t-il ou non sur des systèmes autres que Windows? Le message du Q & R sur le SuperUser d'aujourd'hui répond à la question d'un lecteur perplexe.
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
La question
Le lecteur superutilisateur FredSavage187 souhaite savoir si PowerShell fonctionne sur d'autres systèmes d'exploitation que Windows:
Mon professeur d'informatique nous a récemment proposé un quiz. L'une des questions était «Vrai ou Faux: PowerShell fonctionne sous Windows, Mac et Linux». La réponse correcte était «fausse» et il maintient que PowerShell est une propriété exclusive de Windows. Mais j'ai trouvé quelques sites Web qui disent le contraire:
PowerShell est une source ouverte et est disponible sous Linux [Microsoft Azure Blog]
Dépôt PowerShell [GitHub]
Lequel est réellement correct? PowerShell fonctionne-t-il sous Linux, Mac OS et Windows??
PowerShell fonctionne-t-il sur d'autres systèmes d'exploitation que Windows??
La réponse
Le contributeur SuperUser Ben N a la réponse pour nous:
Oui. PowerShell étant en grande partie .NET, il peut donc s'exécuter sur tout système d'exploitation doté du Common Language Runtime (CLR). Sous Windows, il s’agit du .NET Framework. Pour d’autres systèmes d’exploitation, y compris Linux, vous pouvez utiliser CoreCLR, un sous-ensemble multiplate-forme à code source ouvert du .NET Framework..
Comme vous l'avez appris dans le référentiel PowerShell sur GitHub, de nombreux systèmes d'exploitation et distributions sont pris en charge. Par exemple, voici les instructions pour Ubuntu et une démonstration:
On pourrait affirmer que toutes les fonctionnalités de PowerShell ne sont pas disponibles dans des environnements autres que Windows, car certaines fonctionnalités ne dépendent que de bibliothèques trouvées dans Windows. le ParsedHtml propriété sur le HtmlWebResponseObject type retourné par Invoke-WebRequest, par exemple, n'est utile que sous Windows car il contient un objet COM provenant d'une bibliothèque non gérée, mshtml.dll Pour être précis. Sur d'autres plates-formes, il n'y a rien. Et, bien sûr, il existe des applets de commande pour gérer les systèmes uniquement dans Windows, telles que les applications modernes (Get-AppxPackage, par exemple).
Néanmoins, l’infrastructure PowerShell fonctionne parfaitement sur d’autres systèmes d’exploitation. De nombreuses applets de commande sont utilisables n’importe où et le support ne fait que s’améliorer..
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.
Crédits image: Jeff Hicks (base de connaissances Petri IT)