1

Is there any programmatic way to force Windows to check for updates? I have installed an update using the Windows Update API but the following screen does not update. enter image description here

The Windows Update API says that Reboot is required -

PS C:\Windows\system32> $rebootRequired = (New-Object -ComObject "Microsoft.Update.SystemInfo").RebootRequired

echo $rebootRequired
True

I have tried the following commands as administrator but none of them refreshed the screen -

wuauclt.exe /updatenow
wuauclt.exe /detectnow

Thanks!

  • Are you able to restart the Windows Update service? – Shiffle McDoobles Oct 4 '17 at 15:03
  • @ShiffleMcDoobles - Yes, I can restart the Windows Update Service. But is that something which I should do when an update requires a reboot to finish installation? – Pranav Jituri Oct 4 '17 at 15:04
  • I've only ever restarted the WU service when I've needed to install multiple updates manually and then rebooted at the end. You could try seeing if this key exists and deleting it: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired (make sure you backup the registry before you make any changes) – Shiffle McDoobles Oct 4 '17 at 15:16
4

The command line utilities in Windows 10 & Windows Server 2016 onwards have changed for Windows Update.

You have to use usoclient StartScan to start a scan.

There are other options as well:

  • 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, and install
  • ResumeUpdate: Resume update installation on boot

I wrote the more detailed blog post “Command Line Equivalent of wuauclt in Windows 10 / Windows Server 2016” at OMGDebugging!!!

2

Run the following from an elevated command prompt...

usoclient StartScan
0

It is an external tool, but we are using WuInstall (http://www.wuinstall.com)

The command to check would be

wuinstall /search

The command to install would be

wuinstall /install

With psexec you can also script it remotely to be used on multiple servers

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.