SkillAgentSearch skills...

MSCatalogLTS

MSCatalogLTS is a Long-term support module for searching and downloading Windows updates

Install / Use

/learn @Marco-online/MSCatalogLTS
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MSCatalogLTS

PowerShell Module for Windows Updates

PSGallery Version PSGallery Downloads PowerShell License: MIT

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.


⚡Key Features

  • 🔍 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

📦 Quick Install

Install from PowerShell Gallery

Install-Module -Name MSCatalogLTS -Scope CurrentUser

Update to Latest Version

Update-Module -Name MSCatalogLTS

Verify Installation

Get-Module -ListAvailable MSCatalogLTS

💡 Quick Start Examples

Example 1: Search for Windows 11 Updates

Get-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

Example 2: Download an Update

# Search and download in one pipeline
Get-MSCatalogUpdate -Search "KB5065426" | Save-MSCatalogUpdate -Destination "C:\Updates"

Example 3: Filter by Date Range

Get-MSCatalogUpdate -Search "Windows 11 24H2 x64" -FromDate "2025-06-01" -ToDate "2025-07-01"

Example 4: Save an Update

# 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

Example 5: Export to JSON

# 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)


📚 Available Functions

| 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 |


🔍 Common Use Cases

Windows 10/11 Patch Management

# Get latest Windows 11 security updates
Get-MSCatalogUpdate -Search "Windows 11 24h2 x64" -UpdateType "Security Updates" -LastDays 30

WSUS/SCCM Offline Updates

# Download updates for offline deployment
Get-MSCatalogUpdate -Search "KB5043178" -Architecture x64 | Save-MSCatalogUpdate -Destination "\\server\updates" -DownloadAll

Server Patching Automation

# Get Windows Server 2022 updates from last 90 days
Get-MSCatalogUpdate -Search "Windows Server 2022" -LastDays 90

Filter by Size for Bandwidth Management

# Find updates smaller than 500MB
Get-MSCatalogUpdate -Search "Windows 10 1809" -MaxSize 500 -SizeUnit MB

📖 Full Documentation

For detailed documentation, advanced examples, and parameter reference, visit:

👉 MSCatalogLTS Wiki

👉 GitHub Pages Documentation (coming soon)


🛠️ Requirements

  • 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-MSCatalogOutput function)

🤝 Contributing

Contributions are welcome! Please feel free to submit:

  • 🐛 Bug reports via Issues
  • 💡 Feature requests
  • 🔧 Pull requests

📝 License

This project is licensed under the MIT License.


🌟 Credits

MSCatalogLTS is inspired by and builds upon MSCatalog by ryan-jan. Thank you for the original groundwork!


🏷️ Keywords

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


📧 Support


<p align="center"> <strong>⭐ If you find MSCatalogLTS useful, please consider giving it a star!</strong> </p> <p align="center"> Made with ❤️ for the PowerShell community </p>
View on GitHub
GitHub Stars32
CategoryCustomer
Updated22d ago
Forks6

Languages

PowerShell

Security Score

95/100

Audited on Mar 16, 2026

No findings