首页 > 解决方案 > 如何使用 Powershell 在控制面板的“程序和功能”中获取“查看已安装的更新”列表?

问题描述

尝试获取所有已安装的更新(包括 Acrobat 等第三方应用程序的更新),可以通过单击控制面板中“程序和功能”中的“查看已安装的更新”来查看。

以下方法没有帮助,可能是因为它们仅限于 Microsoft/Windows:

New-Object -ComObject Microsoft.Update.Session
Get-WmiObject Win32_QuickfixEngineering

示例:我想从下面的附图中获取 KB2565063

谢谢

标签: windowspowershellscripting

解决方案


我找到了以下选项:

$x = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like "*foo*" }
$y = Get-ItemProperty HKLM:\SOFTWARE\Classes\Installer\Dependencies\* | Where-Object {$_.DisplayName -like "*foo*" }

在 $x 中,您拥有来自“卸载程序”的软件,在 $y 中,您拥有来自“已安装更新”的更新。

我对此不太满意,我想知道 windows 是如何将 $x 和 $y 链接在一起的,而无需简单地搜索名称。

也许有人可以为我们修复缺失的部分:-)

编辑

我找到了解决方案:

Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.ParentDisplayName -like "*foo*" }

这将返回一个对象,其中ParentDisplayName是您的程序并且DisplayVersion是更新版本。


推荐阅读