SkillAgentSearch skills...

MSCatalog

PowerShell module for searching and downloading offline updates from https://www.catalog.update.microsoft.com

Install / Use

/learn @ryan-jan/MSCatalog
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MSCatalog

[!warning] This repository is no longer maintained and has been archived. Please refer to Marco-online/MSCatalogLTS for an actively maintained alternative.

MSCatalog is a PowerShell module for searching and downloading updates from https://www.catalog.update.microsoft.com. It is cross-platform and runs on both Desktop and Core versions of PowerShell.

appveyor psgallery codecov

Getting Started

MSCatalog can be installed from the PowerShell Gallery in the usual way.

Install-Module -Name MSCatalog -Scope CurrentUser

It is currently tested against the following images/PowerShell versions via AppVeyor, although support for Windows PowerShell 5.1 may be dropped in the future.

| Operating System | PowerShell | | ---------------- | ---------- | | Windows Server 2019 | Windows PowerShell 5.1 | | Windows Server 2019 | PowerShell Core 7.0.1 | | Ubuntu 18.04.4 LTS | PowerShell Core 7.0.1 |

Get-MSCatalogUpdate

This command is used to retrieve updates from the https://www.catalog.update.microsoft.com website. By default it returns the first 25 items from the search sorted by the LastUpdated field in descending order.

Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)"

Title                                                                                               Products            Classification   LastUpdated Size    
-----                                                                                               --------            --------------   ----------- ----    
2019-08 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4512509)          Windows Server 2016 Updates          2019/08/19  930.7 MB
2019-08 Cumulative Update for .NET Framework 4.8 for Windows Server 2016 (1803) for x64 (KB4511521) Windows Server 2016 Updates          2019/08/16  46.7 MB 
2019-07 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4507466)          Windows Server 2016 Updates          2019/07/16  915.5 MB
2019-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4509478)          Windows Server 2016 Updates          2019/06/26  895.7 MB
2019-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4503288)          Windows Server 2016 Updates          2019/06/18  895.3 MB
2019-06 Cumulative Update for .NET Framework 4.8 for Windows Server 2016 (1803) for x64 (KB4502563) Windows Server 2016 Updates          2019/06/17  45.5 MB 
2019-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4499183)          Windows Server 2016 Updates          2019/05/20  891.4 MB
2019-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4505064)          Windows Server 2016 Updates          2019/05/19  887.5 MB
2019-04 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4493437)          Windows Server 2016 Updates          2019/04/24  883.9 MB
2019-03 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4489894)          Windows Server 2016 Updates          2019/03/19  846.1 MB
2019-02 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4487029)          Windows Server 2016 Updates          2019/02/19  835.8 MB
2019-01 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4480976)          Windows Server 2016 Updates          2019/01/14  808.2 MB
2018-10 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4462933)          Windows Server 2016 Updates          2018/10/23  782.3 MB
2018-09 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4458469)          Windows Server 2016 Updates          2018/09/26  767.3 MB
2018-09 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4464218)          Windows Server 2016 Updates          2018/09/17  756.5 MB
2018-08 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4346783)          Windows Server 2016 Updates          2018/08/30  748.8 MB
2018-07 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4340917)          Windows Server 2016 Updates          2018/07/20  713.1 MB
2018-07 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4345421)          Windows Server 2016 Updates          2018/07/16  678.2 MB
2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4284848)          Windows Server 2016 Updates          2018/06/22  633.4 MB
2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4338548)          Windows Server 2016 Updates          2018/06/05  431.4 MB
2018-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4100403)          Windows Server 2016 Updates          2018/05/24  426.7 MB
2018-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4103721)          Windows Server 2016 Security Updates 2018/05/04  326.5 MB
2019-09 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4516058)          Windows Server 2016 Security Updates 2019/09/09  933.8 MB
2019-09 Cumulative Update for .NET Framework 4.8 for Windows Server 2016 (1803) for x64 (KB4514357) Windows Server 2016 Security Updates 2019/09/06  46.7 MB
2019-08 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4512501)          Windows Server 2016 Security Updates 2019/08/09  919.3 MB

The SortBy and Descending parameters allow you to manipulate the search results. For example:

Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)" -SortBy "Title" -Descending

The Strict parameter will return results which only contain the exact search term. For example:

Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)" -Strict

If you would like to return all available results you can specify the AllPages parameter.

Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)" -AllPages

NOTE: This could cause a significant number of web requests. The catalog website will only provide 25 results at a time and this would just keep looping over all available results until it reaches the maximum of 1000.

Save-MSCatalogUpdate

This command is used to download update files from the https://www.catalog.update.microsoft.com website.

There are two options for specifying which update to download. Firstly, you can use the Update parameter to specify an object returned from Get-MSCatalogUpdate. For example, first run Get-MSCatalogUpdate and store the results in a variable.

$Updates = Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)"

Then specify the update that you wish to download by its index in the $Updates array, 0 being the first, and by default often the latest, update in the list.

Save-MSCatalogUpdate -Update $Updates[0] -Destination ".\"

You can also pipe from one command to the other, so a one-liner to get the latest update might look like this.

(Get-MSCatalogUpdate -Search "Cumulative Update for Windows Server 2016 (1803)")[0] | Save-MSCatalogUpdate -Destination ".\"

Secondly, you can specify the Guid parameter. For example, first select the Title and Guid fields from our $Updates variable.

$Updates | Select-Object Title, Guid

Title                                                                                               Guid
-----                                                                                               ----
2019-08 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4512509)          58b95dca-41aa-44e3-8293-eccd607481d5
2019-08 Cumulative Update for .NET Framework 4.8 for Windows Server 2016 (1803) for x64 (KB4511521) 4734d13d-5e5a-4b64-9e93-225674ec811c
2019-07 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4507466)          2a85b739-449e-4654-b527-0236c36eb975
2019-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4509478)          79d238a5-3bd4-43cb-a254-bfd57b2423b0
2019-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4503288)          e48ba8d6-a18f-4d4b-baa0-3f2d9383c5ec
2019-06 Cumulative Update for .NET Framework 4.8 for Windows Server 2016 (1803) for x64 (KB4502563) c34b0ed7-539f-40b2-bbd5-b39efec52e61
2019-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4499183)          ab66c1d1-7e05-49eb-aa1f-b0b4e79943ba
2019-05 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4505064)          5dc96624-4501-4d4c-9f93-22afaf806790
2019-04 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4493437)          bfe757b7-6572-47be-a9b0-cb7e8708e67b
2019-03 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4489894)          153a50a5-a358-4c33-a027-af9d8b4e2114
2019-02 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4487029)          638ef53d-cec0-4c6e-bc35-e37abb3ee044
2019-01 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4480976)          d1dcf2fe-f549-48cd-be3a-e3b22d34853f
2018-10 Cumulative Update 

Related Skills

View on GitHub
GitHub Stars77
CategoryDevelopment
Updated14d ago
Forks21

Languages

PowerShell

Security Score

100/100

Audited on Mar 24, 2026

No findings