-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Windows gecko is a desired state configuration tool for Windows 10/11 devices, targeting Windows Autopilot and Microsoft Intune deployments. A single PowerShell script reads a JSON configuration file and applies modular settings - apps, features, registry, services, files, executables, branding, and regional settings.
For a full overview of the project, see the README.
Important
Windows gecko is a desired state configuration tool - not a policy enforcement solution. The purpose is to set sensible defaults and baselines for end users, not to restrict or prevent users from changing settings.
Get up and running in four steps.
- Download the latest release or clone the repository
- Review the provided JSON configuration files, create your own, or use the samples for inspiration
- Run the script:
REM Apply the computer baseline configuration powershell.exe -NoLogo -ExecutionPolicy "Bypass" -File ".\gecko.ps1" -configFile ".\configC.json" -Verbose REM Apply the user baseline configuration powershell.exe -NoLogo -ExecutionPolicy "Bypass" -File ".\gecko.ps1" -configFile ".\configU.json" -Verbose
[!TIP] Run
Get-Help .\gecko.ps1 -Fullto see all available parameters and examples. - Review the log file for results
For the full parameter reference and usage examples, see the README.
The following modules are available for configuring Windows devices.
Important
Before configuring any feature modules, review the Configuring Core configuration page - it covers the required metadata, run conditions, and install behavior that control how the script operates.
Each feature is implemented as a module, controlled through the JSON configuration file. Modules set to enabled: false or not present are skipped and logged accordingly.
| Module | Description | Status |
|---|---|---|
| Configuring Windows Apps | Remove Windows In-box Apps and Store Apps | Available |
| Configuring Windows branding | Configure OEM information and Registration | Available |
| Configuring Windows Config | Configure Windows using WinGet Configuration | In development |
| Configuring Windows Features | Enable and/or disable Windows features and optional features | Available |
| Configuring Windows Files | Copy file(s) to device from payload package | Available |
| Configuring Windows Groups | Add accounts to local groups | In review |
| Configuring Windows Registry | Modify Windows registry entries (add, change, and remove) | Available |
| Configuring Windows Run | Run local executables and/or download and run executables | Available |
| Configuring Windows Scheduled Tasks | Configure/reconfigure Windows Scheduled Tasks | In development |
| Configuring Windows Services | Configure/reconfigure Windows Services | Available |
| Configuring Windows TCR | Windows Time zone, culture, and regional settings manager | Preview |
Note
The script executes modules alphabetically by name - this is by design. Module naming follows a deliberate convention to ensure correct sequencing. For example, windowsFiles runs before windowsRun, ensuring files are available before execution.
Have an idea for a new module? Share it via Issues or Discussions.
The script has minimal dependencies and is designed to run in restricted environments.
- PowerShell 5.1
- SYSTEM context requires local administrative rights
- In environments enforcing Windows Defender Application Control (WDAC) or AppLocker, the script must be code-signed with a trusted certificate
The script is verified with PSScriptAnalyzer and is compatible with PowerShell Constrained Language Mode (CLM).
Tip
The script is tested on Windows 11 24H2 Pro and Enterprise 64-bit and ARM64 but is expected to work on other Windows 10/11 editions.
Note
Windows gecko should be configured to run in either SYSTEM or USER context - not both. Combining contexts in a single configuration is not supported and may cause undesired results.
Key resources for getting the most out of Windows gecko.
- Configuring Core configuration - JSON configuration structure and schema reference
- Change Log - Full version history
- README - Project overview, parameters, and deployment examples
- Issues - Report bugs or request features
- Discussions - Questions, ideas, and conversations
Page revised: March 15, 2026
🦎 Windows gecko - Desired state configuration for Windows devices · Repository · License
Windows gecko wiki
Getting Started
Feature Modules
- Configuring Windows Apps
- Configuring Windows branding
- Configuring Windows Config
- Configuring Windows Features
- Configuring Windows Files
- Configuring Windows Groups
- Configuring Windows Registry
- Configuring Windows Run
- Configuring Windows Scheduled Tasks
- Configuring Windows Services
- Configuring Windows TCR
Contributing