Managing Windows updates through the graphical user interface (Settings > Windows Update) is intuitive for most, but it is not always the most efficient or reliable method. Whether you are an IT administrator managing a fleet of workstations, a developer looking to automate system maintenance, or a power user dealing with a frozen Settings app, knowing how to control Windows Update via the command line is an essential skill.

While Windows does not provide a single, universal "update" button in the Command Prompt (CMD), there are several powerful underlying tools—specifically UsoClient for modern systems and the PSWindowsUpdate module for PowerShell—that offer more control than the standard interface.

Quick Reference for Windows Update Commands

If you need to trigger an update action immediately, here are the primary commands for Windows 10 and Windows 11. Ensure you run these in an Elevated Command Prompt (Run as Administrator).

  • Scan for Updates: UsoClient StartScan
  • Download Updates: UsoClient StartDownload
  • Install Downloaded Updates: UsoClient StartInstall
  • Check, Download, and Install: UsoClient ScanInstallWait
  • Restart to Complete Updates: UsoClient RestartDevice

These commands act as triggers for the Update Session Orchestrator. Note that they operate silently in the background; you will not see a progress bar in the CMD window.


Managing Updates with UsoClient (Windows 10 and 11)

In modern versions of Windows, the traditional Windows Update Agent has been largely superseded by the Update Session Orchestrator (USO). The command-line tool for this is UsoClient.exe.

How UsoClient Works

The UsoClient is a specialized utility that communicates with the Windows Update service to schedule and execute tasks. Unlike typical CLI tools, it was designed primarily for internal system tasks and task scheduling rather than direct user interaction. This means when you run a command, the system receives the instruction and begins the process, but the Command Prompt window will simply return to a new line without showing "Percentage Complete."

Essential UsoClient Commands

  1. UsoClient StartScan: This command tells the system to reach out to Microsoft's servers (or your local WSUS/SCCM server) to check for new patches.
  2. UsoClient StartDownload: Once a scan identifies available updates, this command initiates the background download of the necessary files.
  3. UsoClient StartInstall: This begins the installation of any updates that have finished downloading.
  4. UsoClient ScanInstallWait: This is the most efficient combined command. It performs a scan, downloads the updates, and installs them sequentially.
  5. UsoClient RefreshSettings: If you have recently changed your update policies or registry settings, this command forces the system to acknowledge the new configuration.

How to Verify Progress

Since UsoClient is silent, how do you know if it's working? Our technical tests suggest checking the Task Manager. Under the "Processes" tab, look for "Windows Update" or "Modern Setup Host." Alternatively, you can navigate to the local log file located at: C:\Windows\SoftwareDistribution\ReportingEvents.log Opening this file with Notepad will show you the latest timestamped activities of the update agent.


The Legacy Method: wuauclt (Older Windows Versions)

For users on Windows 7, 8, or early versions of Windows Server, the standard tool was wuauclt.exe (Windows Update Automatic Update Client). While it still exists in modern Windows for backward compatibility, its functionality is limited.

Common wuauclt Commands

  • wuauclt /detectnow: Forces a check for updates.
  • wuauclt /updatenow: Starts the installation of detected updates.
  • wuauclt /reportnow: Forces a status report to the update server (useful in corporate environments using WSUS).

Note for Windows 10/11 Users: In our testing, wuauclt /detectnow often fails to trigger an immediate response in newer OS builds. It is highly recommended to transition to UsoClient or PowerShell for reliable results.


The Pro Way: Using PowerShell (PSWindowsUpdate)

For those who require visibility, filtering, and true administrative control, PowerShell is the superior choice. Microsoft does not include the Windows Update module by default, but you can install the community-standard PSWindowsUpdate module.

Step 1: Install the Module

Open PowerShell as an Administrator and run: