Open-source Windows 11 deployment automation toolkit built with PowerShell 7
Zero-touch Windows deployment with automatic driver updates, application installation, bloatware removal, and system configuration. Deploy via USB, network, RMM agents, or AutoUnattend.xml.
| Local USB / AutoUnattend.xml | Intune / Autopilot |
|---|---|
Deploy locally via USB, autounattend.xml, or one-liner script. |
Deploy via Intune Autopilot, targeting specific user groups. |
Prerequisites: Windows 11 Pro 25H2+, PowerShell 7, internet connection
- Create bootable Windows 11 USB
- Copy
autounattend.xmlto USB root - (Optional) Copy RMM agent as
Agent.exeto USB root - Boot from USB with network connected. Keep USB connected until deployment completes.
- Wait. Everything happens automatically.
# Run as Administrator in PowerShell 7
iex (irm "https://raw.githubusercontent.com/Stensel8/WinDeploy/$((irm https://api.github.com/repos/Stensel8/WinDeploy/releases/latest).tag_name)/Scripts/Start.ps1")# Run as Administrator in PowerShell 7
iex (irm windeploy.stensel.nl)graph TD
A[Start.ps1] --> B{Admin Rights?}
B -->|No| C[Auto-Elevate]
C --> D{PowerShell 7?}
B -->|Yes| D
D -->|No| E[Install PS7 + WinGet]
E --> F[Relaunch in PS7]
D -->|Yes| G[Download Deploy.ps1]
F --> G
G --> H[Launch Deploy.ps1]
H --> I[Install RMM Agent]
I --> J[Update Drivers]
J --> K[Windows Hardening]
K --> L[Install Applications]
L --> M[Remove Bloatware]
M --> N[Apply Theme]
N --> O[Set Hostname]
O --> P[Install Windows Updates]
P --> Q[Complete]
Start.ps1 ensures PowerShell 7 and WinGet are available, handles elevation, and downloads Deploy.ps1. Deploy.ps1 orchestrates the deployment by downloading and executing each script in sequence.
Edit Scripts/Deployment/Install-Applications.ps1 (lines 20-30):
$Applications = @(
"Microsoft.VCRedist.2015+.x64",
"Microsoft.Office",
"Microsoft.Teams",
# Add your apps here
)Edit Scripts/Deployment/Remove-Bloat.ps1 (lines 15-40):
$BloatwareList = @(
"Microsoft.BingNews",
"Microsoft.GamingApp",
# Add packages to remove
)Place your agent installer as Agent.exe (or any *agent*.exe) on the USB drive root. The script detects and installs it silently during deployment. Works with any RMM solution that supports silent installation (e.g., /S switch).
- Dell: Latitude, OptiPlex, Precision, XPS series
- HP: EliteBook, ProBook, EliteDesk, ProDesk, ZBook series
All operations are logged to C:\WinDeploy\Logs\:
Start.log. Main entry point log.Install-Drivers.log,Install-Applications.log, etc. Per-script logs.
View logs in real-time:
Get-Content "C:\WinDeploy\Logs\Start.log" -Wait -Tail 20WinDeploy automatically installs and manages all dependencies:
| Dependency | Source | Purpose |
|---|---|---|
| winget-install | PowerShell Gallery | Reliable WinGet installation by asheroto |
| PSWindowsUpdate | PowerShell Gallery | Windows Update automation |
| Dell Command Update | WinGet | Dell driver management |
| HP Image Assistant | WinGet | HP driver management |
Script blocked by execution policy
Set-ExecutionPolicy Bypass -Scope ProcessWindows Spotlight not working after deployment
# Run as Administrator
& "C:\WinDeploy\Download\Fix-Spotlight.ps1"Then set lock screen to "Windows Spotlight" in Settings > Personalization > Lock screen.
WinGet not found
# Run as Administrator
Install-Script winget-install -Force
winget-installDrivers not installing
- Confirm internet connection
- Check device is a supported Dell or HP model
- Review
C:\WinDeploy\Logs\Install-Drivers.log
Applications failing to install
- Run
winget --versionto verify WinGet works - Use
winget search <app-name>to verify the correct package ID - Check
C:\WinDeploy\Logs\Install-Applications.log - If default ID fails, try the
msstoresource version:- Run
winget search <app-name> - Find entries with
Source: msstore - Or find the App ID at apps.microsoft.com
- Run
- PowerShell
- WinGet
- PSWindowsUpdate
- winget-install by asheroto
- Dell Command Update
- HP Image Assistant / HP CMSL
Contributions welcome. See CONTRIBUTING.md.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Provided "as is" without warranty. Test in a safe environment before production use.


