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

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

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

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

默认为单线程

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

图片 1

显示 COM 方法签名参数名

现在

将 DBNull 和 NullString 视为 $null

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

图片 2

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

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

-Split 运算符支持负数

解析 appx 修复点

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

pwsh 作为登录 shell

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

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

Telemetry

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

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

下载地址: