Automation
Use Automation to run WinUtil from an exported configuration file.
WinUtil supports predefined presets that apply common configurations automatically:
StandardMinimalAdvanced
Example:
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Preset StandardTo view exactly what each preset does, see: https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json
To find a key for a custom configuration, hover over a supported application, tweak, feature, or AppX entry in WinUtil. Its tooltip shows Preset key: <key>. Application keys are searchable on the Install tab, while tweak and AppX keys are searchable on their respective tabs. Feature keys are available from their tooltips because the Config/Features tab does not have search. Controls that cannot be applied from a preset, such as toggle switches, drop-downs, and package-manager choices, intentionally do not advertise a preset key.
To create your own config file:
- Open WinUtil.
- Click the gear icon in the top-right corner.
- Choose Export.
- Save the exported JSON file.
To build a config without opening WinUtil, pick your selections in the browser with the Config Builder and download the file from there.
Use the Config Builder’s generated command with its downloaded file. It runs the release used to build the catalog, keeping the selections compatible if a newer release removes or renames keys.
Local configuration paths are used exactly as provided when importing or exporting. Square brackets in folder or file names, such as C:\Configs\setup[1].json, are treated as part of the name rather than wildcard patterns.
Use HTTPS URLs or trusted local files for configurations. HTTP URLs do not protect configuration integrity, so a network attacker could replace the selected actions. WinUtil reads remote responses as JSON data without processing web-page scripts. Invalid JSON responses are rejected before the current selections change.
Export also copies a command to the clipboard that launches WinUtil with the saved configuration. The copied command preserves special characters in the path, including apostrophes, dollar signs, and backticks.
You can also launch WinUtil with an exported config using this command:
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Config "C:\Path\To\Config.json"Repeated keys in an imported configuration select each entry only once. Unchecking an imported entry removes it from the selection, even if its key appeared more than once in the file.
This is useful for:
- Applying the same WinUtil configuration across multiple Windows 11 PCs
- Reusing a known-good baseline after reinstalling Windows
- Standardizing deployments for labs, workstations, or personal setups
