The WinGet Configuration module provides cmdlets for managing configuration files that define desired state for Windows systems.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/microsoft/winget-cli/llms.txt
Use this file to discover all available pages before exploring further.
What is WinGet Configuration?
WinGet Configuration allows you to define system setup and package installations in YAML files. These configuration files can:- Install multiple packages in a single operation
- Configure Windows settings
- Set up development environments
- Define desired state configuration
- Be version controlled and shared across teams
Configuration Cmdlets
TheMicrosoft.WinGet.Configuration module provides three main cmdlets:
Get-WinGetConfiguration
Open and load configuration files
Invoke-WinGetConfiguration
Apply configuration sets to the system
Get-WinGetConfigurationDetails
Retrieve details about configuration units
Configuration File Format
Configuration files are written in YAML format with a specific schema:Basic Workflow
The typical workflow for using configuration cmdlets:1. Create Configuration File
Create a YAML file defining your desired state:2. Load Configuration
Load the configuration file into PowerShell:3. Get Details (Optional)
Review configuration details before applying:4. Apply Configuration
Apply the configuration to the system:Configuration Resources
Configuration files use DSC resources to define desired state. Common resources include:WinGet Package Resource
Install and manage packages:WinGet Source Resource
Manage package sources:User Settings Resource
Configure WinGet user settings:Working with History
Configuration cmdlets support loading configurations from history:Error Handling
Handle errors when applying configurations:Configuration Parameters
Module Path
Specify custom module installation location:Processor Path
Use custom DSC processor:Examples
Example 1: Basic Configuration
Example 2: Review Before Applying
Example 3: Apply from History
Best Practices
- Version Control: Store configuration files in version control systems
- Test First: Test configurations in development environments before production
- Use Assertions: Add assertions to verify prerequisites
- Document: Include descriptions in directives for clarity
- Modular Files: Break large configurations into smaller, reusable files
- Review Details: Use
Get-WinGetConfigurationDetailsbefore applying
Next Steps
Get-WinGetConfiguration
Learn how to load configuration files
Invoke-WinGetConfiguration
Apply configurations to your system
DSC Resources
Explore available DSC resources