v0.1 · MIT licensed
A PowerShell script and a JSON profile. Run it on your own machine, or against your own official ISO mounted locally. Nothing here downloads Windows for you — you need a legitimate copy already.
| OS | Windows 10 or 11, any edition you're licensed to run — either your live install, or an official ISO from microsoft.com mounted locally |
| Shell | PowerShell 5.1+ running as Administrator |
| Disk | ~2 GB free if working against a mounted ISO/WIM |
Three ways to run it, depending on what you're debloating.
git clone https://github.com/YOUR-ORG/debloat-toolkit.git — or grab the zip from the releases page above.
-DryRun.\debloat.ps1 -DryRun lists every package, task, and policy it would touch — nothing is modified.
.\debloat.ps1 -Apply for a live system, or .\debloat.ps1 -OfflineImage "D:\mount" to debloat a WIM you mounted yourself from your own ISO with dism /Mount-Image. The script never fetches or writes ISO/WIM files on its own.
No black boxes — every action maps to a documented Microsoft command.
# remove a provisioned app package (per-user apps are unaffected until reinstalled)
Remove-AppxProvisionedPackage -Online -PackageName $pkg -ErrorAction SilentlyContinue
# disable a scheduled task via the documented cmdlet
Disable-ScheduledTask -TaskPath $path -TaskName $name
# set a policy through the registry keys Microsoft's own
# Group Policy templates (admx) expose for these settings
Set-ItemProperty -Path $policyKey -Name $valueName -Value 0