Powershell 解析/迭代并合并两个注册表项

Bee*_*ems 2 registry powershell

使用 PowerShell,我希望收集已安装的应用程序。这似乎是通过在此处解析注册表的“卸载”部分来最彻底地完成的:

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\
Run Code Online (Sandbox Code Playgroud)

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
Run Code Online (Sandbox Code Playgroud)

一个简单的 PowerShell 来解析数据并将其以表格格式抛出,其中之一可能是:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* 
| Select-Object DisplayName, DisplayVersion 
| Sort-Object DisplayName | Format-Table  -AutoSize
Run Code Online (Sandbox Code Playgroud)

我想要做的不是运行上面的行来获取 x86 和 x64 安装的应用程序,而是将它们组合成相同的输出。是否有简单的解决方案可以允许同一行解析两个注册表项并将数据合并到一个表中?

Kor*_*ill 6

请参阅:Get-Help Get-ItemProperty并注意这Path是一个字符串数组

Get-ItemProperty [[-Path] <String[]>]
Run Code Online (Sandbox Code Playgroud)

这意味着(像许多命令一样)您可以传入多个路径。例如:

Get-Itemproperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select DisplayName
Run Code Online (Sandbox Code Playgroud)

从这里,您可以获得您正在寻找的所有其余答案。