2017-10-04 74 views
1

使用PowerShell,我期待收集已安装的应用程序。这似乎是由注册表这里的“卸载”部分分析最彻底的实现:Powershell解析/迭代通过并结合两个注册表项

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\ 

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ 

一个简单的PowerShell来分析数据,并把它以表格的形式只是其中之一可能是:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* 
| Select-Object DisplayName, DisplayVersion 
| Sort-Object DisplayName | Format-Table -AutoSize 

我想怎么做,而不必运行上面的线来获得x86和x64的安装的应用程序,将两者结合起来INT o相同的输出。有没有简单的解决方案,这将允许同一行解析两个注册表项并将数据合并到一个表中?

+1

这里是一个与你的问题相关的例子:https://github.com/gangstanthony/PowerShell/blob/master/Get-InstalledApps.ps1 –

回答

2

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

Get-ItemProperty [[-Path] <String[]>] 

这意味着(如许多命令)可以在多条路径通过。例如:

Get-Itemproperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select DisplayName 

从这里,你可以得到你正在寻找的所有答案。

+0

哇,这是惊人的,正是我希望'得到的答案不期待。非常感谢。 – Beems