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.

Domain Controller DNS in an Active Directory Environment

Domain Controller DNS in an Active Directory Environment

Proper domain controller DNS setup is vital for Active Directory to work properly. Best practice dictates that each domain controller should be setup with a different DNS server as it's preferred DNS server, and and the loopback address (127.0.0.1) as it's alternate...

Client Machines Not Reporting to WSUS Properly?

Client Machines Not Reporting to WSUS Properly?

WSUS Reporting starts and ends with the Windows Update Agent (WUA) on each individual client. If the client is not reporting properly, it can show up in many different ways. Sometimes it will be obvious (the Last Status Report column is not updating to a recent date)...

WSUS System Requirements – What Should I Plan For?

WSUS System Requirements – What Should I Plan For?

Microsoft's official system requirements are a good starting point, however, they don't give you the full picture. Let's look at this one by one. Processor: 1.4 gigahertz (GHz) x64 processor (2 Ghz or faster is recommended) So, 1.4-2.0 GHz is already in play by pretty...