微软发布PowerShell 7 Preview 3

2019-08-23

JiangRen Mr

微软发布了 PowerShell 7 Preview 3,Powershell 7 preview 3 构建在 .NET Core 3.0 preview 8 之上,.NET Core 3.0 重新引入了大量 .NET Framework API,打开了大量随 Windows 附带的 PowerShell 模块,这些模块将被验证和标记为兼容。由于对模块的兼容性更改是 Windows 的一部分,因此需要最新版本的 Windows 10/Windows Server 来实现完全模块兼容性。

访问:

微软中国官方商城 - 首页

默认情况下预览版中的实验特性

在默认情况下启用所有实验特性,以便让 PowerShell 委员会获得更多反馈,以确定某个特性是否应该继续作为实验功能,是否应该从实验性功能转移到稳定特性(非实验性功能),或者被删除。在稳定的版本(以及候选版本)上,默认情况下将继续禁用实验性功能。

注意,如果以前手动启用了实验特性,powershell.config.json 设置文件将优先记录,并且只会启用该文件中列出的实验性功能。你可以删除该文件或运行 Get-ExperimentalFeature | Enable-ExperimentalFeature,以确保启用了所有实验功能。但是,如果使用管道,你将不得不再次使用具有新的实验特性的预览版本。

默认为单线程

在此版本之前,pwsh 默认作为多线程单元运行。但是,图形用户界面 API(如 WinForms 和 WPF)需要一个单线程单元。 此版本在单线程方面,pwsh 与 powershell.exe 相同,支持从 PowerShell 脚本调用 WinForms 和 WPF API。

显示 COM 方法签名参数名

现在 Windows 上,如果从 PowerShell 调用 COM API,nbkalex 的一个新功能将显示 COM 方法的参数名称,而不仅仅是类型信息,这些信息可以作为简单的文档使用,指示应该传递哪些参数。

将 DBNull 和 NullString 视为 $null

使用数据库类型,可能会得到一个 [dbnull]::Value,它相当于数据库中的 $null,但是在 PowerShell 中,这并不等于 $null,所以不能直接比较它。通过对 Joelsallow 的更改,你可以将 [dbnull]::value 和 [nullstring]::value 与 $null 进行比较,并获得 $true。

Read-Host 提示符对所有输入都有效

Read-host 如何调用控制台主机,以及控制台主机如何提示输入(例如给定值的强制性参数),可能就会遇到这样一种情况:即在使用某些字符时,使用 Read-host 提示脚本中的输入会出现其他意想不到的内容。此版本中已经被修复了。

-Split 运算符支持负数

-Split 操作符将一个或多个字符串拆分为子字符串,你可以选择指定一个值来指示要返回的子字符串的最大数。这一新功能允许你将子字符串的最大数指定为负值,这意味着拆分应该从右向左而不是通常从左到右发生。

ForEach-Object -Parallel

此版本向 ForEach-Object 添加了一个 -Parallel 参数,该对象接受脚本块并行执行。在默认为 5 的情况下,可选的 -ThrottleLimit 参数可以用来设置并行使用的最大线程。

解析 appx 修复点

在 Windows 10 上,如果从 Windows Store 安装了应用程序并将它们列在命令行中,它们将显示为 0 字节文件。这些文件实际上是到实际可执行文件的不同类型的链接。使用此更改后,目标可执行文件将在使用 get-child Item 时显示.

pwsh 作为登录 shell

在 Linux 和 MacOS 系统上,有一个登录 shell 的概念,它设置其他应用程序和 shell 继承的环境。在此版本之前,如果你使用 pwsh 作为默认登录 shell,会注意到一些环境变量丢失或不完整。

通过此更改,pwsh 将与 sh Bourne Shell 在设置登录环境方面的工作方式相同,从而使一切正常工作。

Telemetry

在这个预览版本中,增加了更多的遥测技术,详情见博客

这个版本也包含了许多 bug 修复以及有针对性的性能改进,请见更改日志:

https://github.com/PowerShell/PowerShell/releases

下载地址:

https://aka.ms/get-powershell

本文章转自开源中国。

近期开课hot

Python零基础入门

start2025/02/12 03:14 (Sydney)

Web全栈班24期 NodeJS方向

start2024/12/08 11:30 (Sydney)

logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572