确定是否已应用 Windows HotFix

Dev*_*vin 12 windows windows-registry hotfix

我最近通过应用 Microsoft 修补程序修复了我们产品中的一个缺陷。我们的一些客户仍然报告说,应用修补程序后问题仍然存在。他们使用非常严格控制的笔记本电脑,不能自己应用修补程序。我想知道是否有某种方法可以检查是否已应用修补程序。

这篇文章这个线程建议使用 hfx.exe 程序应用的修补程序将出现在注册表中:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Hotfix\KB nnnn

但是,我在 CurrentVersion 下看不到“修补程序”键(此外,我没有使用 hfx.exe 应用修补程序,我只是运行了从 Microsoft 下载的文件,它成功了)。是否有另一种方法来确定它是否已应用?

Dav*_*vid 11

您可以通过转至添加/删除程序,然后单击查看已安装的更新查看计算机上安装了哪些更新。搜索框在这里非常方便。

更新 更新

  • 尽管这确实有效,但尝试识别特定的修补程序可能会很痛苦。正如我已经知道这种方法与 [PowerShell 2.0 解决方案](http://superuser.com/a/736267/95106) 一起使用 [@oleschri](http://superuser.com/users/77310/oleschri)效果很好。 (2认同)

ole*_*hri 9

您可以使用 PowerShell 2.0 或更高版本来检测安装了哪些修补程序。

PS> Get-HotFix
Run Code Online (Sandbox Code Playgroud)

要检测是否安装了特定的修补程序(例如 KB2799904),请编写:

PS> Get-HotFix -ID "KB2799904"
Run Code Online (Sandbox Code Playgroud)

PS> Get-HotFix | where { $_.HotFixID -eq "KB2799904" }

如果这至少返回一个对象,则安装此修补程序。

-ComputerName如果您对该计算机有足够的权限,还可以使用该参数指定远程计算机。

  • 你甚至不需要指定 `-ID` 作为参数,它默认为它。所以`get-hotfix kb2799904` (2认同)