/Win10SmartDebloat

This is an adapted version from https://github.com/W4RH4WK/Debloat-Windows-10. These scripts will Customize, Debloat and Improve Security/Performance on Windows 10+.

Primary LanguagePowerShellMIT LicenseMIT

Win10 Smart Debloat

Adapted from W4RH4WK's Project

🚀 Download Latest Version

Code located in the main branch is always considered under development, but you'll probably want the most recent version anyway.

Download Version Supported Build Editions Powershell version
21H2 or Older 22000 Home/Pro v5.1

📄 Resume

This is an adapted version from another project. These scripts will Customize, Debloat and Improve Security/Performance on Windows 10+.

Use on a fresh windows install to note the differences.

⚠️ Disclaimer: You're doing this at your own risk, I am not responsible for any data loss or damage that may occur.

🔄️ Roll-Back

If something breaks you can rely on:

  1. A restoration point;
  2. The repair-windows.ps1 file or button on Win10ScriptGUI.ps1;
  3. If you want (almost) everything to it's original state, use the Revert Tweaks button on Win10ScriptGUI.ps1.

❗ Usage Requirements

The Script-Win10.ps1 do not make everything automatically, follow these steps.

  • Open OpenPowershellHere.cmd (For beginners) or the Powershell as admin on its folder.
  • Enable execution of PowerShell scripts and Unblock PowerShell scripts and modules within this directory.

GUI Version

  • Copy and Paste this entire line below on Powershell:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force; ls -Recurse *.ps*1 | Unblock-File; .\"Win10ScriptGUI.ps1"

Script GUI

The Apply Tweaks button is the main one for debloating.

CLI Version (Minimal, good for automation)

  • Copy and Paste this entire line below on Powershell:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force; ls -Recurse *.ps*1 | Unblock-File; .\"Win10Script.ps1"

Scripts can be run individually, pick what you need.

✅ GUI Script Features

Click to expand
  • Apply Tweaks: Run every 'non-interactive' Tweak scripts;
  • Remove Xbox from Windows: Wipe Xbox Apps, disable Services related to Xbox and GameBar/GameDVR;
  • Repair Windows: Try to Completely fix the Windows worst problems via Command Line; (backup-system.ps1 and repair-windows.ps1)
  • Reinstall Pre-Installed Apps: Rebloat Windows with all the Pre-Installed Apps; (reinstall-pre-installed-apps.ps1)
  • Revert Tweaks: Re-apply some tweaks and [Revert] all possible ones, covering the Scheduled Tasks, Services, Privacy and Performance, Personal and Optional Features tweaks;
  • Dark Mode & Light Mode: Apply Dark Mode or Light Mode exclusively from GUI;
  • Enable/Disable Search Indexing: Let you choose whether the Search Service is enabled or disabled;
  • Enable/Disable Background Apps: Let you choose whether the Background Apps are enabled or disabled;
  • Enable Full Telemetry & Disable Telemetry: Let you choose whether the Telemetry is enabled or disabled;
  • Enable/Disable Cortana: Let you choose whether the Cortana is enabled or disabled;
  • Install CPU/GPU Driver Updater: This WILL NOT install anymore the drivers, only the drivers updater. (install-drivers-updaters.ps1);
    • The Latest CPU for driver updater. For Intel, Intel DSA (Winget) (Except AMD);
    • The Latest GPU driver updater. For Intel and NVIDIA, NVIDIA GeForce Experience (Winget) (Except AMD);
  • Install Gaming Dependencies: Install all Gaming Dependencies required to play games. (install-gaming-dependencies.ps1);
  • Every software installation is explicitly showed;

☑️ Common Script Features

Click to expand

⚡ Troubleshooting Known Issues

For each issue, expand the problem you're looking for, and Open PowerShell as admin to copy paste it's content:

NVIDIA GeForce Experience ERROR: 0x0003 (NvContainerLocalSystem service was disabled) - No Issue Link
Get-Service NvContainerLocalSystem | Set-Service -StartupType Automatic -PassThru | Start-Service
Fingerprint Reader / Facial Detection not Working (WbioSrvc service was disabled) - See #189 from W4RH4WK
Get-Service WbioSrvc | Set-Service -StartupType Automatic -PassThru | Start-Service
Start menu Search (WSearch indexing service was disabled) - No Issue Link
Get-Service WSearch | Set-Service -StartupType Automatic -PassThru | Start-Service
Issues with Skype (Microsoft.SkypeApp app was uninstalled) - See #79 from W4RH4WK
# Winget required first
winget install --silent --source "msstore" --id "Microsoft.Skype"
Bring back Taskbar Widgets (Windows 11) - See #7
  1. Copy and paste this URL on your browser: ms-windows-store://pdp/?ProductId=9MSSGKG348SP
  2. Or follow this URL
  3. Then click Get/Install
  4. After this, open the Taskbar Settings and enable the Widgets button again

Or Reinstall through winget

winget install --source "msstore" --id 9MSSGKG348SP --accept-package-agreements

Before someone ask about this "hidden" package...

Name ID Version Source
Windows Web Experience Pack 9MSSGKG348SP Unknown msstore
Bluestacks doesn't work with Hyper-V enabled - No Issue Link
Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "Microsoft-Hyper-V-All"
Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "HypervisorPlatform"
Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "VirtualMachinePlatform"
Sysprep will hang (Not Tested).

No solution yet, do a Google search

➕ Contribute

I would be happy to extend the collection of scripts. Just open an issue or send me a pull request. (Yes, if its useful, you can).

🤍 Credits

🔧 Tweak Testers

  • yCr-shiddy - Helped giving more ideas and fixes;

🏅 More Debloat Scripts (Community)

Click to expand

The scripts are designed to run With/Without (GUI/CLI) any user interaction. Modify them beforehand. If you want a more interactive approach check out:

🔎 How did i find specific Tweaks?

Click to expand

How To (Advanced Users)

By using SysInternal Suite Procmon(64).exe i could track the SystemSettings.exe by filtering it per Process Name, then Clearing the list (Ctrl + X) (But make sure it is Capturing the Events (Ctrl + E)) and finally, applying an option of the Windows Configurations and searching the Registry Key inside Procmon(64).exe.

Grab the current tweak on registry with Procmon64.exe

After finding the right register Key, you just need to Right-Click and select Jump To... (Ctrl + J) to get on its directory.

Showing on regedit

📝 License

Licensed under the MIT license.