我想以编程方式检测当前的Windows 10更新状态。
我尝试过wuapi,它很好用,但是wuapi中存在一些问题。
首先,获取更新信息需要很长时间。
第二,它不能离线使用。
还有其他方法可以检测当前的Windows 10更新状态吗?是否有任何注册表或系统文件可以检测到它?
我尝试procmon进行分析,但是与Windows udpate链接的文件和注册表太多。
谢谢...
“ COM API
COM API是直接访问Windows Update而不需要解析日志的好方法。该API的应用范围从查找计算机上的可用更新到安装和卸载更新。
您可以使用Microsoft.Update.Session类来运行更新搜索,然后计算可用的更新数量,以查看计算机是否有任何更新。
PowerShell示例:
$updateObject = New-Object -ComObject Microsoft.Update.Session
$updateObject.ClientApplicationID = "Serverfault Example Script"
$updateSearcher = $updateObject.CreateUpdateSearcher()
$searchResults = $updateSearcher.Search("IsInstalled=0")
Write-Host $searchResults.Updates.Count
如果返回的结果大于0,则存在需要安装和/或下载的计算机更新。您可以轻松地更新powershell脚本以适合您的应用程序。
只是抬起头,似乎搜索功能不是异步的,因此它将在搜索时冻结您的应用程序。在这种情况下,您将需要使其异步。“
注册方法
来源: