@lsmn
2018-01-22T19:05:35.000000Z
字数 1787
阅读 1818
微软
PowerShell
macOS
微软正式发布PowerShell的新版本PowerShell Core 6.0。该版本是开源的,支持多种平台(Windows、macOS、Linux),是为异构环境和混合云而构建的。
微软正式发布PowerShell的新版本PowerShell Core 6.0。该版本是开源的,支持多种平台(Windows、macOS、Linux),是为异构环境和混合云而构建的。
虽然代号是6.0,但PowerShell Core 6.0是PowerShell的第一个Core版本,用开源.NET Core进行了重写,是Windows版本的后继版本。而且,这个新版本得到了开源社区的支持,包括代码、测试、文档、问题、反馈和评论等方面的贡献。即使是现在,人们仍然可以向PowerShell做贡献。
在特性支持方面,微软并没让Core版本支持Windows PowerShell的所有特性。PowerShell Core没有提供PowerShell工作流、管理单元、WMIv1 Cmdlets等特性,也不能执行所需状态配置(DSC)资源。来自微软的Joey Aiello在一篇博文中介绍了PowerShell Core的正式版本:
作为向.NET Core及其他操作系统迁移的一部分,我们不得不放弃Windows PowerShell正在使用的部分技术。而在其他一些地方,我们利用PowerShell重构的机会停止支持一些用户较少的技术。其中部分技术最终可能会回归PowerShell Core,但也有许多不会。
现在有了两种PowerShell,一种是广为流行的基于.NET Framework的成熟版本(FullCLR),一种是基于.NET Core(CoreCLR)的。FullCLR及其依赖的.NET Framework只在Windows上可用,它已经发布了多个版本(1.0、2.0、4.0、5.0和5.1),以名称powershell.exe发布,是Windows客户端及服务器的内建组件。5.1版本是最后一个版本,后续不会再有新版本。除了已经弃用的1.0和2.0版本之外,微软计划继续为Windows PowerShell的大部分版本提供支持。不过,这项支持的前提是底层的Windows操作系统仍然是一个受支持的产品。
得益于.NET Core,CoreCLR版本(6.0)可以跨平台。该版本在Windows上的名称为pwsh.exe,在macOS和Linux上是pwsh。除了6.0外,5.0/5.1 Core版本也成为Microsoft Nano服务器的一部分。总之,Core版本不同于Full版本。Paul Thurrott是一名技术新闻工作者,他在一篇博文中这样描述PowerShell Core:
从功能的角度讲,Windows PowerShell依然更强大,它可以充分利用.NET Framework和.NET Standard提供的更大的.NET功能集。PowerShell Core基于更新、更简洁但功能较弱的.NET Core运行时,使它的功能受限于.NET Core和.NET Standard当前提供的功能。但PowerShell Core的优势和.NET Core一样,可以跨平台。因此,你编写的任何PowerShell Core脚本都可以在Windows、 macOS及各种较新的Linux发行版(如Ubuntu、Debian、Red Hat企业版等)上运行。
PowerShell Core设定了未来几年的路线图,它采用了微软现代生命周期策略,旨在让用户的版本可以保持最新。6.x版本大约每6个月就会收到更新。
图片来源:https://docs.microsoft.com/en-us/powershell/scripting/powershell-core-support?view=powershell-6
GitHub上提供了PowerShell Core源代码。Windows版本和macOS&Linux版本的下载是单独提供的。微软文档站点提供了Windows PowerShell和PowerShell Core的完整文档。
查看英文原文:Microsoft Annouces General Availability of PowerShell Core 6.0