PowerShell是否适用于除Windows之外的其他操作系统?

当你的教授说PowerS PowerS的一些事情和各种网站似乎提供了相反的证据时,这可能非常令人沮丧。 PowerShell是否实际上在非Windows系统上工作? 今天的超级用户问答帖子有一个令人困惑的读者问题的答案。

今天的问答环节由SuperUser提供,由Stack Exchange组成,这是一个社区驱动的问答网站分组。

问题

超级用户阅读器FredSavage187想知道PowerShell是否适用于Windows之外的其他操作系统:

我的计算机科学教授最近给了我们一个测验,其中一个问题是“真或假:PowerShell在Windows,Mac和Linux上工作”。 正确的答案是“假的”,他认为PowerShell是一个仅Windows的东西。 但是我发现有几个网站说:

PowerShell是开源的,可在Linux上使用 [Microsoft Azure Blog]

PowerShell存储库 [GitHub]

哪一个其实是正确的? PowerShell是否适用于Linux和Mac OS以及Windows?

PowerShell是否适用于Windows之外的其他操作系统?

答案

超级用户贡献者本N有我们的答案:

是。 PowerShell的大部分都是.NET,因此它可以在具有公共语言运行时(CLR)的任何操作系统上运行。 在Windows上,那就是.NET Framework。 对于其他操作系统(包括Linux),您可以使用CoreCLR ,即.NET Framework的开放源代码跨平台子集。

当您在GitHub的PowerShell存储库中学到时,支持相当多的操作系统和发行版。 例如, 以下是Ubuntu演示的说明

有人可能会认为,PowerShell在Windows环境中并不是全部可用的,因为某些功能依赖于仅在Windows中发现的库。 例如,由Invoke-WebRequest返回的HtmlWebResponseObject类型的ParsedHtml属性仅在Windows中有用,因为它具有来自非托管库mshtml.dll的COM对象。 在其他平台上,什么都没有。 而且,当然还有一些cmdlet可以管理在Windows中发现的系统,比如Modern应用(例如Get-AppxPackage )。

尽管如此,PowerShell基础设施在其他操作系统上运行良好,但是大量的cmdlet在任何地方都可以使用,而且支持也越来越好。


有什么要补充说明吗? 在评论中发出声音。 想要阅读其他技术精湛的Stack Exchange用户的更多答案? 在这里查看完整的讨论话题

图片来源: Jeff Hicks(Petri IT知识库)

赞 (0)
分享到:更多 ()