Powershell 返回属性的完整值

Powershell 返回属性的完整值,powershell,registry,Powershell,Registry,我试图获取DCOM应用程序的程序ID,但在返回属性值时,它没有给出完整的内容 $a = Get-ChildItem 'registry::HKEY_CLASSES_ROOT\WOW6432Node\CLSID\' -Recurse | Where-Object Name -match 'ProgID' 这将返回包含ProgID的所有应用程序 Hive: HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{000C1090-0000-0000-C000-000000

我试图获取DCOM应用程序的程序ID,但在返回属性值时,它没有给出完整的内容

$a = Get-ChildItem 'registry::HKEY_CLASSES_ROOT\WOW6432Node\CLSID\' -Recurse | Where-Object Name -match 'ProgID'
这将返回包含ProgID的所有应用程序

    Hive: HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{000C1090-0000-0000-C000-000000000046}


Name                           Property
----                           --------
ProgId                         (default) : WindowsInstaller.Installer
尝试获取示例“WindowsInstaller.Installer”中的属性值时 通过
$a.Property

返回

(默认值)


如何返回完整的属性内容?

What
Get ChildItem
注册表位置返回的是表示注册表项的实例

要获取每个此类键的未命名默认值(其中包含感兴趣的ProgID)的数据,可以使用带有空字符串(
'
)的
.GetValue()
方法

请注意,PowerShell以不同的方式表示未命名的默认值,如您的问题中所示

Get-ChildItem registry::HKEY_CLASSES_ROOT\WOW6432Node\CLSID -Recurse | 
  Where-Object Name -match ProgID |
    ForEach GetValue ''
顺便说一句:注册表
[Microsoft.Win32.RegistryKey]
实例的
名称
属性包含完整的键路径,因此将匹配限制为只匹配键名称的更好方法是使用

Where Object Name-match'\\ProgID$
在您的情况下。

什么
Get ChildItem
注册表位置返回的是表示注册表项的实例

要获取每个此类键的未命名默认值(其中包含感兴趣的ProgID)的数据,可以使用带有空字符串(
'
)的
.GetValue()
方法

请注意,PowerShell以不同的方式表示未命名的默认值,如您的问题中所示

Get-ChildItem registry::HKEY_CLASSES_ROOT\WOW6432Node\CLSID -Recurse | 
  Where-Object Name -match ProgID |
    ForEach GetValue ''
顺便说一句:注册表
[Microsoft.Win32.RegistryKey]
实例的
名称
属性包含完整的键路径,因此将匹配限制为只匹配键名称的更好方法是使用

Where Object Name-match'\\ProgID$
在您的情况下。

啊,太棒了,谢谢,我不知道(默认)是什么意思,但我现在知道了!啊,太棒了,谢谢你,我不知道(默认)是什么意思,但我现在知道了!