New Tool: Get the Latest Windows 10 Cumulative Updates!

TL;DR – Programmatically get the latest Windows 10 Cumulative Updates!

Got a request from someone on an internal e-mail Distribution list recently, asking how to find out the latest Windows 10 (or Windows Server 2016) Cumulative Update.

Normally you can find these updates by going to this Microsoft KB article, then finding the right Operating System Version. Then you use the KB article number to go to Windows Update, and find the correct download link, then download the file.

I wanted to update this for another project, so I took it as a challenge to code in PowerShell.

New Tool

For this tool, I placed the source code up on, in a new gist. A gist is just a file that can be edited, version controlled, and shared out publicly on the site.

Given a Windows Version (build number), and a couple other search strings, will programmatically determine what the correct download links are for this Windows 10 (or Windows Server 2016).Â

The output can also be piped into BITS so you can just download locally.


Get the links for the latest Windows 10 Version 1703 Updates:



Additionally we can also download the files using the BITS command Start-BITSTransfer








8 thoughts on “New Tool: Get the Latest Windows 10 Cumulative Updates!

  1. Nice tool!
    I added this to the build parameter so you don’t have to type your version if you run it for the local machine.

    [Parameter(Mandatory=$False, HelpMessage=”Windows build number.”)]
    [string] $BUild = ([environment]::OSVersion.Version).Build,

    • True, however, the most common scenario for this script is for downloads to patch offline OS images.
      If you want to patch the current online OS, why not just run Windows Update?

  2. Sorry, support for Windows 7 is not a priority.
    Windows 10 is interesting because we can take the Cumulative package and apply it offline, we can’t do that with Windows 7.
    For windows 7, I recommend WSUS or ZTI_WindowsUpdate.wsf.

  3. Did the API change? I just found your script but the URI used for $StartKB just gives an “API not found” message.

    Thanks for sharing!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s