问题描述
我想以编程方式检查是否有新的 Windows“功能更新”(即 1904、20H2 等新的主要版本)可用。 WUAPI 似乎没有返回这些更新,但我可能犯了一个错误。
我认为可以通过下载 Windows 10 Update Assistant 并使用一些记录不佳的标志调用它,或者通过解压缩 .iso 并调用 setup.exe 来在无人看管的情况下安装这些。但我真正想要的是 Windows 设置应用程序使用的界面。我想以编程方式基本上点击“搜索更新”,看看是否提供了功能更新,并可能安装。
无条件运行 setup.exe 不是解决方案(我已经知道怎么做)。 “切换到 WSUS”也不是,因为有问题的计算机可能受也可能不受 WSUS 管理。我想显示更新是否以及何时提供,无论它来自 Microsoft 的服务器还是 WSUS。有没有办法做到这一点(缩短屏幕抓取设置应用程序?:-D)。
解决方法
你见过 Boxstarter.org 吗?
Windows 安装自动化。 但是还有一个 Install-WindowsUpdate 功能。 查找、下载和安装所有 Windows 更新。默认情况下,只会搜索关键更新。但是,该命令采用 -Criteria 参数,允许传递自定义 Windows 更新查询。
Help Install-WindowsUpdate -Full
见https://boxstarter.org/WinConfig
这应该会给你任何隐藏的更新:
Install-WindowsUpdate -criteria "IsHidden=1 and IsInstalled=0 and Type='Software' and BrowseOnly=1"
输出:
++ Boxstarter starting Checking for updates...
Restarting windows update service
++ Boxstarter finished Checking for updates... 00:00:29.5201057
There is no update applicable to this machine