在PS中,当我们使用Get-ChildItem来获取Registry的子项时,我们使用registry::
而不是registry:
。对于其他位置,我们将路径指定为c:\,d:\为什么还有一个额外的:for registry?
这与.NET中关于静态方法调用的问题不重复。 我也不懂.NET,也不是一个复杂的编程相关问题。它只是关于注册表不同的路径概念。
答案 0 :(得分:3)
假设您指的是PSPath,这是注册表提供程序和位置的表示法。这与PSDrive的符号不同。
Provider::Location
示例文件系统
Get-ChildItem C:\example.txt | Select-Object -ExpandProperty PSPath
Microsoft.PowerShell.Core\FileSystem::C:\example.txt
示例注册表
Get-ChildItem HKLM:\Example | Select-Object -ExpandProperty PSPath
Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Example
请注意,在我的示例中,PSDrives(C和HKLM)只有一个冒号。 HKLM和HKCU建立在注册地点的PSDrives上。您可以使用Get-PSDrive
cmdlet检索完整列表。