PowerShell Module for Windows Updates
Long-term support PowerShell module for searching, filtering, and downloading Windows updates from the Microsoft Update Catalog
MSCatalogLTS is a cross-platform PowerShell module that provides an easy-to-use interface for interacting with the Microsoft Update Catalog. Whether you need to download cumulative updates, security patches, or manage offline updates for Windows 10, Windows 11, or Windows Server, MSCatalogLTS makes it simple.
- π Search Windows Updates - Find cumulative updates, security patches, drivers, and more
- β¬οΈ Download Updates Offline - Download .msu, .cab, and other update files directly
- π₯οΈ Cross-Platform Support - Works on Windows PowerShell 5.1+ and PowerShell 7+ (Core)
- π§ Smart Filtering - Filter by date, size, architecture (x64, x86, arm64), product, and classification
- π¦ Export to Multiple Formats - Export results to CSV, JSON, XML, or Excel
- π§ Pipeline Support - Full PowerShell pipeline integration for automation
- π‘οΈ Long-Term Support - Actively maintained with regular updates and bug fixes
- π Batch Operations - Process multiple updates efficiently
Install-Module -Name MSCatalogLTS -Scope CurrentUserUpdate-Module -Name MSCatalogLTSGet-Module -ListAvailable MSCatalogLTSGet-MSCatalogUpdate -Search "Windows 11 24H2 x64"Output:
Search completed for: Cumulative Update for Windows 11 Version 24H2 for x64
Found 2 updates
Title Products Classification LastUpdated Size
----- -------- -------------- ----------- ----
2026-01 Cumulative Update for Windows 11 Version 24H2 for x64-based Systems (KB5078127) (26100.7628) Windows 11 Updates 2026/01/24 4252.6 MB
2026-01 Cumulative Update for Windows 11 Version 24H2 for x64-based Systems (KB5077744) (26100.7627) Windows 11 Updates 2026/01/17 4252.3 MB
# Search and download in one pipeline
Get-MSCatalogUpdate -Search "KB5065426" | Save-MSCatalogUpdate -Destination "C:\Updates"Get-MSCatalogUpdate -Search "Windows 11 24H2 x64" -FromDate "2025-06-01" -ToDate "2025-07-01"# Get update and download
$update = Get-MSCatalogUpdate -Search "Windows 11 24H2 x64" | Select-Object -First 1
Save-MSCatalogUpdate -Update $update -Destination "C:\Updates" -DownloadAll
# One-liner
Get-MSCatalogUpdate -Search "Windows 11 24H2 x64" | Select-Object -First 1 | Save-MSCatalogUpdate -Destination "C:\Updates" -DownloadAll# Export to JSON (overwrite)
Get-MSCatalogUpdate -Search "Windows Server 2022 x64" -LastDays 30 -ExportJson "C:\Updates\Updates.json"
# Export to JSON (append)
Get-MSCatalogUpdate -Search "Windows Server 2022 x64" -ExportJson "C:\Updates\Updates.json" -Append
When -Append is used, existing entries are preserved and duplicate updates are automatically skipped
Output: Appended 2 updates to JSON file: updates.json (skipped 23 duplicates)
| Function | Description |
|---|---|
Get-MSCatalogUpdate |
Search and filter updates from Microsoft Update Catalog |
Save-MSCatalogUpdate |
Download update files to a specified location |
Save-MSCatalogOutput |
Export update information to Excel format |
# Get latest Windows 11 security updates
Get-MSCatalogUpdate -Search "Windows 11 24h2 x64" -UpdateType "Security Updates" -LastDays 30# Download updates for offline deployment
Get-MSCatalogUpdate -Search "KB5043178" -Architecture x64 | Save-MSCatalogUpdate -Destination "\\server\updates" -DownloadAll# Get Windows Server 2022 updates from last 90 days
Get-MSCatalogUpdate -Search "Windows Server 2022" -LastDays 90# Find updates smaller than 500MB
Get-MSCatalogUpdate -Search "Windows 10 1809" -MaxSize 500 -SizeUnit MBFor detailed documentation, advanced examples, and parameter reference, visit:
π MSCatalogLTS Wiki
π GitHub Pages Documentation (coming soon)
- PowerShell: 5.1 or higher (including PowerShell 7+)
- Operating System: Windows 10/11, Windows Server 2016+, or any OS with PowerShell Core
- Internet Connection: Required to query Microsoft Update Catalog
- Optional: ImportExcel module (for
Save-MSCatalogOutputfunction)
Contributions are welcome! Please feel free to submit:
- π Bug reports via Issues
- π‘ Feature requests
- π§ Pull requests
This project is licensed under the MIT License.
MSCatalogLTS is inspired by and builds upon MSCatalog by ryan-jan. Thank you for the original groundwork!
powershell windows-update microsoft-update-catalog patch-management wsus sccm windows-10 windows-11 windows-server security-updates cumulative-updates offline-updates powershell-module system-administration it-automation update-management kb-updates msu-files cab-files enterprise-deployment
- π Documentation
- π¬ Issues
- π PowerShell Gallery
β If you find MSCatalogLTS useful, please consider giving it a star!
Made with β€οΈ for the PowerShell community