Jump to content

i've made a script for batch downloading windows update files

Recommended Posts

While i was downloading Windows XP updates from the Microsoft Update Catalog, i realized this task could be done much faster. For that reason, i decided to make a PowerShell script for batch downloading updates from a list, featuring filters for language, NT version and architecture.

I'm aware there is already another GUI application with a similar purpose, but you might find this one more fitting for your context as it has some key differences, such as:

- Focused on simplicity. Command-line operation only

- Script available under a permissive license (Unlicense)

- Code and its functioning is commented and documented to its best. Take a look at the code to learn how it works.

- It can run natively on Linux, even on a Raspberry Pi

- A function lets you download the details page in HTML format for each update, ready for offline read


I've made it available both on my website and GitHub:




Let me know if you found it useful, I'll be listening feedback to improve the script if needed.


  • Like 2
  • Upvote 2
Link to comment
Share on other sites

  • 6 months later...

Release 1.01 is now available. https://github.com/blueclouds8666/msupdate-dl/releases/tag/1.01

The downloading process recently stopped working, as the Update Catalog website no longer accepts HTTP connections, now requiring TLS 1.2. This update now fixes it, and also introduces a new timeout function.

  • Upvote 1
Link to comment
Share on other sites

  • 1 year later...
Posted (edited)

Release 1.02 is now available. https://github.com/blueclouds8666/msupdate-dl/releases/tag/1.02

This update features more advanced workarounds to alleviate server-side issues, as well as fixes for multiple language download. Full changelog is as follows:

- Improved approach for reading lines on the batch text file
- Parameter syntax has been changed to fit conventions
- Fixed Chinese and Portuguese variants being mixed up at the code
- Language handling reworked, now using native array lists
- Language download fixed to compensate for a server-side malfunction
- Script will now only download updates in English and Universal by default. If you wish to download all the available languages, you will need to explicitly add the "--language=all" argument. A console message has been added to notify of this change.
- Script will retry malformed responses to compensate for a server-side malfunction
- Advanced and configurable retry functionality has been implemented (read documentation)
- A new section has been added to the documentation to explain the server-side malfunction


Edited by blueclouds8666
  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...