Does wuauclt.exe /detectnow /reportnow work?

by | Last updated 2022.10.29 | Published on 2020.10.06 | Guides, WSUS

What is wuauclt.exe?

It stands for Windows Update Automatic Update CLienT

There are many switches through the years that have been found, and with the help of Strings (Sysinternals), on a current version of Windows 10, you can see that the only ones listed are:

/UpdateDeploymentProvider
/IdleShutdownNow
/ResetEulas
/ResetAuthorization
/RunHandlerComServer
/ReportNow

On older systems (Windows 8.1 and earlier, Server 2012R2 and earlier) you can see that you have a lot more.

/DemoUI
/BeginInteractiveOSUpgrade
/InstallOSUpgrade
/IdleShutdownNow
/ShowOptions
/ShowCheckForUpdates
/ShowWUAutoScan
/UpdateNow
/SelfUpdateUnmanaged
/SelfUpdateManaged
/CloseWindowsUpdate
/ShowWindowsUpdate
/ShowWU
/ResetEulas
/ResetAuthorization
/ShowSettingsDialog
/RunHandlerComServer
/ReportNow
/DetectNow

As you can see, the bolded ones are common between old versions and new versions of Windows.

If you notice, /DetectNow is no longer in the list for Windows 10. This is because Microsoft has deprecated and removed it. Windows 10 has replaced it with: PowerShell.exe (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() or UsoClient.exe StartScan (Still undocumented by Microsoft as of October 2020, but used in forums with success).

As you can see, /ReportNow is still listed, but it has a has a special use case. Microsoft’s official documentation on this switch says “Sends all queued reporting events to the server asynchronously.” but what does that really mean? It means that if there are events to report back to WSUS which have been queued up by the detection sequence (/DetectNow OR the PowerShell or UsoClient equivalent), then when this command is run, it will force the immediate reporting back to WSUS – but only if you have events that were queued up.

One thing to remember is that the detection sequence WILL ALWAYS REPORT BACK if there are queued events, but it has a 20 minute cool-down delay.

The purpose of the /reportnow parameter is to immediately expire that 20 minute delay.

So, when executing  these two commands together or immediately one after the other, the wuauclt /reportnow command actually does nothing at all.

The proper way to use these two commands, is to first launch the wuauclt /detectnow task (and now the PowerShell equivalent for Windows 10+/Server 2016+), and then WAIT for the completion of the detection event. Typically this could take a couple of minutes, but on a healthy, fully patched system, it may complete in a matter of seconds.

Once the WUAgent is idle, then executing wuauclt /reportnow will cause the call to the ReportingWebService to occur immediately, rather than waiting for the built-in 20 minute delay.

How to Remove WSUS Completely and Reinstall it

How to Remove WSUS Completely and Reinstall it

The steps to remove WSUS and reinstall WSUS are pretty standard but they do have some variances on how WSUS was installed in the first place. To remove WSUS completely, you need to: Remove WSUS Role You can remove the role through the GUI using Server Manager or You...

Role Based Access Security

Role Based Access Security

"Change how you think; Change your life." If you think you know how to administer a file server, maintain permissions and groups, but want to know a better way; a more efficient way, then you have to change how you think about permissions and security. Watch these...