After you install updates with BatchPatch (or with any third-party tool or script) you might notice that if you then look at the Windows Update control panel GUI on a Windows 10 or Windows 2016 target computer that it will not usually be up to date. Instead it will display stale, cached search results that are no longer accurate after applying the updates with BatchPatch. You can close and re-open the GUI over and over, you can restart the Windows Update service, and you can use the ‘check for updates’ option in the interface repeatedly, but still the GUI will display old search results that are no longer valid.
In reality this is just a cosmetic issue. However, we have some users who for one reason or another need or want this GUI to always reflect the current status of the available updates on the computer. In previous versions of Windows prior to 10/2016 this was not so much of an issue because you could initiate a new check for updates on-demand in the Windows Update control panel GUI. But starting with Windows 10 and 2016 it’s no longer an option. And if you tried using the command line action wuauclt.exe /detectnow or wuauclt.exe /resetauthorization /detectnow or wuauclt.exe /reportnow you would have noticed that those commands don’t seem to do anything in 10/2016.
In Windows 10/2016 there is a new command line utility UsoClient.exe that can be used to resolve this discrepancy. This Microsoft blog posting explains that we can use UsoClient.exe startscan from an administrator command prompt on Windows 10/2016 to effectively replace wuauclt.exe /detectnow.
This posting exposes some other switches that apparently exist for UsoClient.exe, though at the moment I’m not sure how useful the other switches will be for most BatchPatch users, and I have not tested those other switches either, so I can’t comment on if they work as described. They are:
StartScan (Used To Start Scan) StartDownload (Used to Start Download of Patches) StartInstall (Used to Install Downloaded Patches) RefreshSettings (Refresh Settings if any changes were made) StartInteractiveScan (May ask for user input and/or open dialogues to show progress or report errors) RestartDevice (Restart device to finish installation of updates) ScanInstallWait (Combined Scan Download Install) ResumeUpdate (Resume Update Installation On Boot) |
Executing UsoClient.exe on target computers
BatchPatch has a built-in menu item to execute the StartScan option of UsoClient.exe: Actions > Windows updates > usoclient.exe /startscan This is the most commonly needed command, but you can also optionally hardcode any additional commands that you desire using the instructions posted here.
Once the command has been hard-coded into your BatchPatch installation you will be able to execute it on-demand for target computers in your grid at any time, but you can then also easily add it to job queues. If you are one of those users who really wants or needs the target computers’ Windows Update GUI to be accurate at every moment, then you might consider appending the UsoClient command to the end of a job queue that downloads/installs updates on your target computers. This way you could ensure that after updates are installed the GUI on the target computers will reflect the current state rather than showing stale information.