v0.1 · MIT licensed

Get the toolkit

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.

Requirements

OSWindows 10 or 11, any edition you're licensed to run — either your live install, or an official ISO from microsoft.com mounted locally
ShellPowerShell 5.1+ running as Administrator
Disk~2 GB free if working against a mounted ISO/WIM

Usage

Three ways to run it, depending on what you're debloating.

  1. Clone or download the script

    git clone https://github.com/YOUR-ORG/debloat-toolkit.git — or grab the zip from the releases page above.

  2. Preview changes with -DryRun

    .\debloat.ps1 -DryRun lists every package, task, and policy it would touch — nothing is modified.

  3. Apply, or target an offline image

    .\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.

AD SLOT — in-article native unit

What actually runs

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
Out of scope, on purpose: Windows Update, Defender/SmartScreen, activation or license checks, and anything that would require a cracked or leaked component. If a request needs one of those, the answer is no — open an issue and we'll explain why.