2017-08-14 128 views

回答

0

可以使用多种方式列出已安装修补程序:

PowerShell的:

Get-HotFix | select HotFixID, Description, InstalledOn 

WMI:

wmic qfe get HotFixID,Description,InstalledOn 

两种途径都使用Win32_QuickFixEngineering WMI类列表窗口更新,并且只返回由提供的更新。
由Microsoft Windows安装程序(MSI)或Windows更新站点提供的更新不会由Get-Hotfix/Win32_QuickFixEngineering返回。

因此,如果您可以使用Windows Update API使用PowerShell列出所有更新

$session = New-Object -ComObject Microsoft.Update.Session 
$searcher = $Session.CreateUpdateSearcher() 
$searcher.Search("IsInstalled=1").Updates | ft -a Date,Title,Description 

注册地:
您可以在此位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages enumarate键,然后检查(串)值InstallClient"WindowsUpdateAgent"

您可以使用处理registry的Windows API函数来枚举密钥。这里是来自MSDN的example


Windows更新API是微软推荐的方式,所以你最好给它一个尝试。

+0

但是...我只是想使用Windows API来扫描注册表中的修补程序。 –

+0

更新了相关信息:) – Megabeets

相关问题