2017-08-14 132 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

相關問題