PowerShell 7适用于Windows,macOS和Linux,可以看到Microsoft从.NET Core 2.x迁移到3.1,这归功于众多.NET Framework API的复活,从而实现了与现有Windows PowerShell模块的更大的向后兼容性。PowerShell 7的跨平台性质意味着可以使用Ubuntu,openSUSE,Fedora,Debian和其他Linux发行版。
PowerShell产品经理Joey Aiello说:“如果过去由于模块兼容性问题而无法使用PowerShell Core 6.x,那么这可能是您第一次利用一些很棒的功能自从我们开始核心项目以来,我们已经交付了!”
受支持的操作系统的完整列表以Windows 7、8.1和10,Windows Server 2008 R2、2012、2012 R2、2016和2019,macOS 10.13 +,Red Hat Enterprise Linux(RHEL)/ CentOS 7的x64变体形式给出。 +,Fedora 29 +,Debian 9 +,Ubuntu 16.04 +,openSUSE 15+和Alpine Linux 3.8+。Debian和Ubuntu也支持ARM32和ARM64版本,ARM64 Alpine Linux也受支持。微软表示,虽然它们没有得到官方的支持,但仍有一些社区生产的软件包可用于Arch和Kali Linux。
Aiello重点介绍了可以在PowerShell 7中找到的一些新功能:
使用ForEach-Object -Parallel进行管道并行化
新的运营商:
三元运算符::
管道链运营商:和&&
空条件运算符:和?? =
简化的动态错误视图和Get-Error cmdlet,可更轻松地调查错误
兼容性层,使用户能够在隐式Windows PowerShell会话中导入模块
自动新版本通知
直接从PowerShell 7调用以调用DSC资源的能力(实验性)