If you are trying to manage Windows Updates on a Windows 10 or Server 2016 / 2019 computer you have no doubt already figuredout that WUAUCLT no longer functions. We are not sure why Microsoft has done this because the only replacement we can find is a new undocumented tool named USOCLIENT that is built into Windows 10 and Server 2016/19 at C:\WINDOWS\SYSTEM32\USOClient.exe.
We say undocumented and mean it. Microsoft has made no information available on this app and has gone so far as to say:
This command isn’t meant to be called outside of the internal OS. Nobody outside the OS should be trying to run the usoclient directly
However unless you want to use complex powershell or VBS scripts there is no ready way to manage Windows Update without USOClient.exe so we scoured the internet and collected this documentation.
Note that we have used USOClient to manage Windows 10 Windows Updates and have had no adverse affects so we believe it is safe to make use of.
What we have found is that it will run from either a CMD prompt or a PowerShell script and it does not require elevation to do so in the environments we have tested thus far.
About the only annoying feature is that the command provides no feedback. This means, if you have a typo or syntax error you will not see an error message.
On to the documentation.
What Is USOClient?
…First, USO stands for Update Session Orchestrator, and it’s the replaced Windows Update Agent. Windows Update service, usoclient.exe, is basically a command to run either scan for updates, install or resume updates.
…You can no longer use the old (wuauclt.exe /detectnow) commands to schedule a Windows Update scan via the command.
Windows Update settings has been moved away from the legacy Windows Control Panel to the new modern System Settings app in Windows 10.
Therefore, you won’t find any reference to usoclient.exe file listed under Control Panel > Uninstall or Change Program list.
What Are the USOClient Switches?
The switches are undocumented so the person that figured this out (see SOURCE below) did a fantastic job of sleuthing to find this information.
- StartScan Used To Start Scan
- StartDownload Used to Start Download of Patches
- StartInstall Used to Install Downloaded Patches
- We have found this needs to be used after ScanInstallWait
- 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
- We have found this switch does nothing visible in Win10 1803
- ScanInstallWait Combined Scan Download Install
- We have found this kicks the PC to scan itself, check for available updates and download them… but not install them
- We have found this command sits for about 2.5 minutes after it has apparently completed before ending and allowing the next command in any script to run
- ResumeUpdate Resume Update Installation On Boot
USOClient Syntax Examples
Unlike most utilities USOClient does not use a / or a – to send commands. You simple append the switch, like:
USOClient Script To Manage Windows Updates
We have created a simple script to scan, download, install, and reboot a PC to process Windows Updates HERE. That script is available as both a CMD line and in a PDQ script.