Windows 10 - PowerShell 注册表驱动器无法正常工作

Xeн*_*вϵς 0 windows-registry powershell windows-10

我使用的是 Windows 10 20H2,我在 PowerShell 桌面 5.1.19041.610 和 PowerShell Core 7.1.1 上成功地多次重现了这个问题,没有失败。

问题:Test-Path 仅适用于两个 PowerShell 注册表驱动器(缩短的注册表配置单元名称):

HKCU:HKLM:

它们分别是HKEY_CURRENT_USER和 的缩写HKEY_LOCAL_MACHINE

在 PowerShell 中,它们的全名是:

Registry::HKEY_CURRENT_USERRegistry::HKEY_LOCAL_MACHINE分别。

但是,有五个注册表配置单元,另外三个是:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_USERS

他们的简称:

HKCR:HKCC:HKU:

Test-Path找不到驱动器,但Test-Path如果提供全名,则可以找到它们:

TEST-PATH HKCR:
TEST-PATH HKCU:
TEST-PATH HKLM:
TEST-PATH HKU:
TEST-PATH HKCC:
TEST-PATH REGISTRY::HKEY_CLASSES_ROOT
TEST-PATH REGISTRY::HKEY_CURRENT_CONFIG
TEST-PATH REGISTRY::HKEY_USERS
$PSVersionTable
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明

我很好奇,我想知道它为什么会这样。

任何人都可以提供解释吗?

我已经确认其他三个驱动器也不适用于其他 cmdlet,我该如何使用这三个注册表驱动器?

Jef*_*lin 7

默认情况下不会创建它们,但您可以创建它们:

PS C:\>New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

Name           Used (GB)     Free (GB) Provider      Root                                               CurrentLocation
----           ---------     --------- --------      ----                                               ---------------
HKCR                                   Registry      HKEY_CLASSES_ROOT

PS C:\>Test-Path HKCR:
True
PS C:>
Run Code Online (Sandbox Code Playgroud)