78

It often happens that I have to watch this screen for minutes:

enter image description here

I have no clue what's happening in the back. And I'm also not interested in watching the WindowsUpdate.log for changes.

I would love to know if there's a way that gives more feedback. Preferably something I can invoke from the command line (like apt-get).

53

In Windows 10, you can use the PSWindowsUpdate PowerShell module.

> Install-Module PSWindowsUpdate
> Get-WindowsUpdate
> Install-WindowsUpdate

enter image description here

  • 2
    Works in Windows 7 too. :) – Charles Burge Mar 8 '17 at 1:38
  • 17
    Win10 restricted due to a script policy. Start ps-console as admin Powershell.exe -ExecutionPolicy Unrestricted then run given commands. Probably need to run Import-Module PSWindowsUpdate before Get-WindowsUpdate. This policy applies to this PS session only. – Whome Jun 18 '17 at 18:42
  • I found the more reasonably restrictive Set-ExecutionPolicy -ExecutionPolicy RemoteSigned which is also persistent (going into the Local Poilcy object) docs.microsoft.com/en-us/powershell/module/… – BaseZen Mar 28 '18 at 3:33
  • This is weird. On Win8.1 I get: Install-Module : The term 'Install-Module' is not recognized... and Get-WindowsUpdate : The term 'Get-WUList' is not recognized.... – not2qubit Nov 18 '18 at 18:19
  • Didn't work in old PS 5+ but works now in PWSH 6.1.1. – not2qubit Jan 28 at 9:16
69

You can invoke Windows Update from command line using wuauclt.exe utility located in %windir%\system32\ folder.

To check for updates,

wuauclt.exe /detectnow

To check and update,

wuauclt.exe /detectnow /updatenow

This will not work if you have set "Never check for updates" in Windows Update settings. Also probably automatic updates must be enabled for '/updatenow' switch to work (install updates).

In versions of Windows prior to Windows 10, you can also start the GUI for Windows Update by entering following command (located in %windir%\system32\ folder):

wuapp.exe

This only opens the update application and checks available updates, it does not install them. Also if you have set "Never check for updates" in Windows Update settings, this does not checks for updates too, you will have to click the "Check for updates" button.

  • 9
    On Windows 7, wuauclt.exe doesn't seem to print any output to cmd. – wjandrea Feb 14 '17 at 19:04
  • Same on W8.1...no output – not2qubit Nov 18 '18 at 18:22
33

I found some great suggestions when looking into How to to Install Windows Updates on Windows Server 2008 R2 Core.

One suggestion I really liked, is the WUA_SearchDownloadInstall.vbs script.

Available Updates being listed

enter image description here

Update Installation

enter image description here

  • 3
    Another option would be WSUS Offline. – Der Hochstapler Mar 18 '13 at 22:07
  • Great! Just need to update script to disable prompts, or add command line switches. – MarcusUA May 17 '17 at 12:26
  • How to tell in 2018 (Windows 10 home) install updates but never in 8AM till 6PM? – YumYumYum Jun 5 '18 at 12:25
11

You can use wusa.exe which is part of Windows 7.

I wanted to remove the Windows 10 Update icon from the taskbar, so I wrote this AutoHotkey script which invokes wusa.

wusa := "c:\windows\system32\wusa.exe"
runwait %wusa%  /uninstall /kb:2952664 /norestart
runwait %wusa%  /uninstall /kb:3021917    /norestart
runwait, %wusa%  /uninstall /kb:3035583 /norestart
msgbox, okay, all done!`rDon't forget to -hide- the updates now.

So you can use wusa.exe to manage Windows updates and install .msu files.

Here are the commandline parameters for wusa: https://support.microsoft.com/en-us/kb/262841

wusa.exe /uninstall /kb:123456 /quiet /norestart
wusa.exe Windows6.1-KB123456-x86.msu /quiet /norestart

This page has a collection of other ways to manage updates from the commandline.

This page explains how wusa.exe works.

To see what updates are installed (via commandline):

systeminfo | find ": KB"
  • 2
    Its really sad that I am here looking at this answer because malware known as Update to Windows 10 has hijcaked the update process, and I can't install security updates. – jww Oct 16 '15 at 23:38
  • There are a number of reasons why Windows Updates might quit working, and a number of solutions, I would be happy to answer, but this is not the right topic... Just suffice to say that in the end, I wanted offline updates and ended up doing this: forums.mydigitallife.info/threads/… which works quite well! – bgmCoder Oct 19 '15 at 14:14
9

I'm using WuInstall. It is a command line tool for managing Windows Updates. You have many great options like displaying the installation progress, to specify if you want a reboot and when, and logfiles are available for every process. Regards

  • But its not FREE????? – YumYumYum Jun 5 '18 at 12:27
3

Windows 10, and Windows Server 2016 or above, use USOClient.exe to scan, download, and install updates.

  • 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 Install
  • ResumeUpdate Resume Update Installation On Boot

Command Line Equivalent of wuauclt in Windows 10 / Windows Server 2016

1

Based on the answer from kizzx2 I created two one liners for the command prompt.

Run the following code from an elevated command line.

Installation of the update module:

Powershell.exe -ExecutionPolicy Unrestricted -command "Install-Module PSWindowsUpdate -force"

Performing update from command line:

Powershell.exe -ExecutionPolicy Unrestricted -command "Import-Module PSWindowsUpdate; Get-WindowsUpdate; Install-WindowsUpdate"

Furthermore, you can add the options -AcceptAll and -AutoReboot to the Install-WindowsUpdate command.

0

The easiest and most reliable way I found is to call the COM object from PowerShell.

$autoUpdate = New-Object -ComObject Microsoft.Update.AutoUpdate
$autoUpdate.DetectNow()

The other methods of the object seem to do nothing on Windows 10. See also:
https://docs.microsoft.com/en-us/windows/desktop/api/wuapi/nn-wuapi-iautomaticupdates

If you don't want to use PowerShell you can run

C:\Windows\System32\UsoClient.exe StartScan

directly from the command line.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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