LeDragoX / Win-Debloat-Tools

Re-imagining Windows like a minimal OS install, already debloated with minimal impact for most functionality.
MIT License
4.82k stars 245 forks source link
bloatware-removal chocolatey gui-application powershell powershell-scripts software-installation tweaks virus-scanning windows windows-10-debloat windows-11-debloat windows-debloat winget

[![PSScriptAnalyzer](https://github.com/LeDragoX/Win-Debloat-Tools/actions/workflows/powershell.yaml/badge.svg?style=flat)](https://github.com/LeDragoX/Win-Debloat-Tools/actions/workflows/powershell.yaml) ![GitHub issues](https://img.shields.io/github/issues/LeDragoX/Win-Debloat-Tools?label=Issues) ![GitHub license](https://img.shields.io/github/license/LeDragoX/Win-Debloat-Tools?color=blue&label=License) [![Commit rate](https://img.shields.io/github/commit-activity/m/LeDragoX/Win-Debloat-Tools?label=Commit%20rate)](https://github.com/LeDragoX/Win-Debloat-Tools/commits/master) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/LeDragoX/Win-Debloat-Tools/main?label=Last%20commit) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/LeDragoX/Win-Debloat-Tools?label=Code%20size) This Project was adapted from W4RH4WK's Project

Re-imagining Windows like a minimal OS install, already debloated with minimal impact for most functionality.

[!WARNING] DISCLAIMER: You're doing this at your own risk, I am not responsible for any data loss or damage that may occur. It's not guaranteed that every feature removed from the system can be easily restored.

🚀 Download Latest Version

Code located in the main branch is considered stable, the develop branch contains the most recent features.

[!IMPORTANT] Use on a fresh Windows install to notice the differences. Using an admin account is recommended to avoid any compatibility issues.

Branch to Download Version(s) Supported Edition(s) PowerShell Version

⬇️ Main

(Stable)
23H2 or Older Home / Pro v5.1+

⬇️ Develop

(Newer)

✨ Usage

To run a variant of the script, follow these steps:

GUI Version

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force; ls -Recurse *.ps*1 | Unblock-File; .\"WinDebloatTools.ps1"
![Script GUI](./src/assets/script-gui.png) *The `Apply Tweaks` button is the main one for debloating.*

CLI Version (Straight to debloat)

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force; ls -Recurse *.ps*1 | Unblock-File; .\"WinDebloatTools.ps1" 'CLI'

Scripts can be run individually, pick what you need.

🔄️ Roll-Back

If something breaks you can rely on:

  1. If you want (almost) everything to it's original state, use the Undo Tweaks button on WinDebloatTools.ps1.
  2. A restoration point done by the script itself;
  3. The Repair Windows button on WinDebloatTools.ps1;

☑️ Common Script Features

Click to expand **This part is also valid to the *Apply Tweaks* button on the GUI.** - Import all necessary *modules* before executing everything ([Source](./src/lib/)); - Logs both script runs on `C:\Users\<>\AppData\Local\Temp\Win-DT-Logs`; - Make a Restore Point and Backup the Hosts file ([Source](./src/scripts/Backup-System.ps1)); - Download AdwCleaner and Run the latest version for *Virus/Adware* scan and from OOShutUp10 and import all Recommended settings from a file ([Source](./src/scripts/Invoke-DebloatSoftware.ps1)); - Disable *non-essential* **Telemetry** from **Scheduled Tasks** and Optimize it ([Source](./src/scripts/Optimize-TaskScheduler.ps1)); - Disable *heavy* **Services**, but enable some on SSDs for optimum performance ([Source](./src/scripts/Optimize-ServicesRunning.ps1)); - Remove some of the legacy system components called as "**Capabilities**", except the most popular ones ([Source](./src/scripts/Remove-CapabilitiesList.ps1)); - Remove **Bloatware UWP Apps** that comes with Windows 10+, except from my choice ([Source](./src/scripts/Remove-BloatwareAppsList.ps1)); - Optimize **Privacy** by disabling more **telemetry** parts and changing **GPOs**, all through changing **registry keys** ([Source](./src/scripts/Optimize-Privacy.ps1)); - Optimize **Performance** by changing away from default settings that slowdowns the system, utilizing **PowerShell commands** and **changing registries** to disable features ([Source](./src/scripts/Optimize-Performance.ps1)); - Apply **Personalization** tweaks on **UI** and **System Settings** via **Registry** and **PowerShell** commands ([Source](./src/scripts/Register-PersonalTweaksList.ps1)); - Help improve the **Security** of Windows while maintaining performance ([Source](./src/scripts/Optimize-Security.ps1)); - Disable **obsolete** Windows **optional features** and enable some that might help ([Source](./src/scripts/Optimize-WindowsFeaturesList.ps1));

✅ GUI Script Features

Click to expand ### System Tweaks #### Customize System Features ([Can be found here](src/utils/Individual-Tweaks.psm1)) - `Enable/Disable Dark Theme`: Apply *Dark Theme* or *Light Theme* on Windows; - `Enable/Disable Activity History`: Manages the **Activity History** setting; - `Enable/Disable Background Apps`: Manages *ALL* the **Background Apps** settings; - `Enable/Disable Clipboard History`: Manages the **Clipboard History** setting, that keeps a history from your clipboard pressing `Windows + V` key; - `Enable/Disable Clipboard Sync Across Devices`: Manages the **Clipboard Sync Across Devices** setting, which allows to use the same clipboard for multiple devices (must be using a MS account); - `Enable/Disable Cortana`: Manages the **Cortana** setting; - `Enable/Disable Hibernate`: Manages the **Hibernate** setting; - `Enable/Disable Legacy Context Menu`: Bring back the Windows 10 **context menu** from right-clicking or default on Windows 11; - `Enable/Disable Location Tracking`: Allow or block **location sensors and trackers** on Windows; - `Enable/Disable News And Interest`: Show or hide the **temperature and climate** on the taskbar; - `Enable/Disable Old Volume Control`: Manages the **Old Volume Control (Win 7/8.1)** setting; - `Enable/Disable Online Speech Recognition`: Manages the **Online Speech Recognition** setting, by pressing the keys `Windows + H` you can speak through your mic, then use it to type text using your voice; - `Enable/Disable Phone Link`: Manages the **Phone Link** setting, which can link your Android/iPhone devices notifications to Windows; - `Enable/Disable Photo Viewer`: [*Enables*](./src/utils/enable-photo-viewer.reg) or [*Disables*](src/utils/disable-photo-viewer.reg) the old **Photo Viewer (Win 7/8.1)**; - `Enable/Disable Search App for Unknown Ext.`: When running a unknown extension file, be able to search through **MS Store** for an App that can open it. - `Enable/Disable Telemetry`: Manages the **Windows Telemetry Level** setting; - `Enable/Disable WSearch Service`: Manages the **Windows Search Service** setting; - `Enable/Disable Windows Spotlight`: Manages the spotlight setting in personalization settings, giving a new desktop and lockscreen wallpaper daily; - `Enable/Disable Xbox Game Bar/DVR/Mode`: Manages the **Xbox Game Bar/DVR/Mode** setting, that can open Game Bar anywhere, record clips from games and change Game Mode; #### System Debloat Tools - `Apply Tweaks`: Run every Common Tweak scripts ([Go To **☑️ Common Script Features** section](#%EF%B8%8F-common-script-features)); - `Undo Tweaks`: Re-apply some tweaks and *Revert* all possible ones, covering the, `ShutUp10 settings`, `Scheduled Tasks`, `Services`, `Privacy and Performance`, `Personal` and `Optional Features` tweaks, then try to `Reinstall Pre-Installed Apps`; - [`Remove Microsoft Edge`](./src/scripts/Remove-MSEdge.ps1): uninstalls **Microsoft Edge**, disables Scheduled Tasks and Services related to Edge, then remove the remaining files, **Edge Web View** files will remain untouched, but apps which depends on **WebView2** will not install unless you install Microsoft Edge; - [`Remove OneDrive`](./src/scripts/Remove-OneDrive.ps1): completely removes OneDrive from the System, re-install is possible via Win Store; - [`Remove Xbox`](./src/scripts/Remove-Xbox.ps1): wipe Xbox Apps, disable Services related to Xbox and GameBar/GameDVR; #### Install System Apps ([Can be found here](src/utils/Install-Individual-System-Apps.psm1)) *This section contains options to restore the system apps, by downloading them from the **MS Store** (mostly) and doing **Stock configurations** (for some Apps).* > The Xbox button uses a script to restore functionalities and reinstall the Xbox Apps available on MS Store. #### Other Tools *This section contains tools to solve some Windows problems and get info about how much debloated the system is.* - [`Randomize System Color`](./src/scripts/other-scripts/New-SystemColor.ps1): Changes the Windows color pallette to a random generated hex color; - [`Reinstall Pre-Installed Apps`](./src/scripts/Install-DefaultAppsList.ps1): Rebloat Windows with all the Pre-Installed Apps; - [`Repair Windows`](./src/scripts/Repair-WindowsSystem.ps1): Try to Completely fix the Windows worst problems via Command Line; - [`Show Debloat Info`](./src/scripts/other-scripts/Show-DebloatInfo.ps1): Make an overall check-up from disabled and enabled Windows Components (Compare before and after applying tweaks, it's a great difference); #### Windows Update ([Can be found here](src/utils/Individual-Tweaks.psm1)) - `Enable/Disable Automatic Windows Update`: Set Windows updates to automatic or manual; #### Optional Features/Task Scheduler/Services/Windows Capabilities ([Can be found here](src/utils/Individual-Tweaks.psm1)) *These sections can manually adjust **Features** from the system, working as a ON/OFF toggle.* #### Miscellaneous Features ([Can be found here](src/utils/Individual-Tweaks.psm1)) - `Enable/Disable Encrypted DNS`: Sets the DNS Client Servers to **Cloudflare's** and **Google's** (ipv4 and ipv6), and enables **DNS Over HTTPS** on *Windows 11*. - `Enable/Disable God Mode`: Manages the hidden Desktop folder called "**God Mode**"; - `Enable/Disable Mouse Acceleration`: Manages the **Enhance Pointer Precision** setting from mouse settings; - `Enable/Disable Mouse Natural Scroll`: Sets the mac-like mouse scrolling behavior, basically reverts mouse scroll direction; - `Enable/Disable Take Ownership menu`: [*Enables*](./src/utils/enable-take-ownership-context-menu.reg) or [*Disables*](src/utils/disable-take-ownership-context-menu.reg) the **Take Ownership context menu**; - `Enable/Disable Shutdown PC shortcut`: Manages the **Shutdown Computer desktop shortcut**; ### Software Install - [Install *Winget/Chocolatey* package managers](./src/lib/package-managers/); - Be able to install the listed software in this script! Even from System apps. - **Importante Note:** When proceeding to install a new app, the script will automatically install the required package manager for that operation. - [**Create** or **Remove** a Daily Upgrade Task for *Winget/Chocolatey* packages](./src/lib/package-managers/); - Creates a new Scheduled Job to daily upgrade all available softwares via *Winget* at **12:00** and *Chocolatey* at **13:00**; - Register daily upgrade logs on `C:\Users\<>\AppData\Local\Temp\Win-DT-Logs` and remove old log files; - `Remove All Chocolatey Packages`: List all packages from Chocolatey which are installed and remove everything at once; - `Upgrade All Softwares`: Upgrades all Softwares installed on your machine installed through *Winget* and *Chocolatey*. - WSL will only update itself, not the distros installed. - `Install Selected`: Install the selected apps by marking the checkbox(es); - `Uninstall Mode`: Default as OFF, clicking this will switch the `Install Selected` button to `Uninstall Selected` and uninstall every selected apps (**Advice:** differently colored buttons may not be able to uninstall completely and WSL UWP Apps, but WSL Distros will be unregistered);

➕ Contributing

FIRST of all, if have any questions or concerns about the project, please refer to the DISCUSSION page, not the ISSUES, this helps keeping the project organized, thanks! Found a bug or want a new feature? You can open a new Issue here. Wanting to add improvements or fixes? Please check out the CONTRIBUTING.md file.

🤍 Credits

🛣️ Roadmap

List of all changes made on the script since the beginning, the file can be accessed here.

🏅 Recommended Alternative

The scripts are designed to run without any user interaction. Modify them beforehand. If you want a more interactive approach (also more maintained) then check out:

📝 Legal / License

This project is NOT associated to MalwareBytes and O&O Software GmbH in any form. MalwareBytes AdwCleaner and O&O ShutUp10++ have their own licenses.

Licensed under the MIT license.