WingetBatch

2.0.0

Advanced batch operations for Windows Package Manager (winget). Features: interactive multi-select installation, GitHub new package discovery with 30-day caching, background update monitoring with profile integration, registry-based recent package removal, API rate limiting, and comprehensive package details including pricing, licensing, and release notes. Requires Pw
Advanced batch operations for Windows Package Manager (winget). Features: interactive multi-select installation, GitHub new package discovery with 30-day caching, background update monitoring with profile integration, registry-based recent package removal, API rate limiting, and comprehensive package details including pricing, licensing, and release notes. Requires PwshSpectreConsole for enhanced UI.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name WingetBatch

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name WingetBatch

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2025 Matthew Bubb. All rights reserved.

Package Details

Author(s)

  • Matthew Bubb

Tags

winget package-manager windows batch-install utility github-api interactive cache updates PwshSpectreConsole

Functions

Install-WingetAll Get-WingetNewPackages Get-WingetUpdates Enable-WingetUpdateNotifications Disable-WingetUpdateNotifications Set-WingetBatchGitHubToken New-WingetBatchGitHubToken Remove-WingetRecent

Dependencies

This module has no dependencies.

Release Notes

v2.0.0 - Major Feature Release
- NEW: Get-WingetNewPackages - Discover recently added packages from winget-pkgs GitHub repository
 * GitHub API integration with pagination support
 * Parallel background job system (max 10 concurrent) for fetching package details
 * Smart job waiting - only waits for jobs with selected packages
 * 30-day package details caching system for faster repeat searches
 * Comprehensive package info: Version, Publisher, GitHub links, License, Pricing, Release Notes, and 20+ fields
 * Interactive re-selection with preserved package information
 * Exclusion filter support to hide specific packages/publishers
 * API rate limit tracking with hourly rollover
 * GitHub token support for 5,000 req/hour (vs 60 unauthenticated)

- NEW: Remove-WingetRecent - Uninstall recently installed packages by date
 * Reads from Windows Registry (HKLM/HKCU Uninstall keys)
 * Filter by installation date (e.g., -Days 7 for last week)
 * Interactive selection of packages to remove

- ENHANCED: Install-WingetAll
 * Now uses --silent flag for cleaner output
 * Improved error handling and reporting

- ENHANCED: Profile Integration
 * Background update checks with cached results
 * 30-minute cache TTL for update notifications

- NEW: Token Management
 * Set-WingetBatchGitHubToken - Store GitHub PAT securely
 * New-WingetBatchGitHubToken - Interactive token creation wizard

- FIXED: Date parsing bug in API rate limit tracking (timezone handling)
- FIXED: Package selection workflow when going back to change selections

Configuration stored in: ~/.wingetbatch/
 - config.json - Update notification settings
 - github_token.txt - GitHub Personal Access Token
 - github_ratelimit.json - API usage tracking
 - package_cache.json - 30-day package details cache
 - update_cache.json - Cached update results

Requires: PowerShell 5.1+, winget CLI, PwshSpectreConsole (auto-installs if missing)

FileList

Version History

Version Downloads Last updated
2.0.0 (current version) 12 11/5/2025