mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2025-11-17 02:56:17 +00:00
Compare commits
27 Commits
2025.08.01
...
2025.09.13
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02cb390ac6 | ||
|
|
4e4bf0d553 | ||
|
|
bdf55ed6ba | ||
|
|
b0fed2afaf | ||
|
|
b9594f2671 | ||
|
|
4719d80dd9 | ||
|
|
83f7fc7398 | ||
|
|
cf1b43dd3f | ||
|
|
15a520e219 | ||
|
|
a38c78824e | ||
|
|
0ba9d1d7c3 | ||
|
|
9b502a49c4 | ||
|
|
260895618d | ||
|
|
a662273414 | ||
|
|
6c4b401a21 | ||
|
|
75f71972b3 | ||
|
|
c3de7803ae | ||
|
|
8ce501511f | ||
|
|
a65548b9b7 | ||
|
|
98b9348b70 | ||
|
|
b100cf15f2 | ||
|
|
b6dc5c0147 | ||
|
|
a68c0a53fb | ||
|
|
31b13bf861 | ||
|
|
62e95376a6 | ||
|
|
c881858f32 | ||
|
|
cc3fc90592 |
@@ -1,14 +1,15 @@
|
|||||||
Win11Debloat will make the following changes:
|
|
||||||
- Remove the default selection of apps, the list can be found in the 'Appslist.txt' file.
|
|
||||||
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions and ads in start, settings, notifications and more.
|
- Disable tips, tricks, suggestions and ads in start, settings, notifications and more.
|
||||||
|
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||||
- Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper)
|
- Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper)
|
||||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||||
- Disable & remove Microsoft Copilot. (W11 only)
|
- Disable & remove Microsoft Copilot.
|
||||||
|
- Disable Windows Recall snapshots. (W11 only)
|
||||||
- Disable Fast Start-up to ensure a full shutdown.
|
- Disable Fast Start-up to ensure a full shutdown.
|
||||||
|
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||||
- Show file extensions for known file types.
|
- Show file extensions for known file types.
|
||||||
- Hide the 3D objects folder in Windows Explorer. (W10 only)
|
- Hide the 3D objects folder in Windows Explorer. (W10 only)
|
||||||
- Disable the widget service & hide the icon from the taskbar.
|
- Disable widgets on the taskbar & lockscreen.
|
||||||
- Hide the Chat (meet now) icon from the taskbar.
|
- Hide the Chat (meet now) icon from the taskbar.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,11 +12,12 @@ App Removal
|
|||||||
Telemetry, Tracking & Suggested Content
|
Telemetry, Tracking & Suggested Content
|
||||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions & ads across Windows.
|
- Disable tips, tricks, suggestions & ads across Windows.
|
||||||
|
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||||
- Disable the 'Windows Spotlight' desktop background option.
|
- Disable the 'Windows Spotlight' desktop background option.
|
||||||
|
|
||||||
Bing Web Search, Copilot & AI Features
|
Bing Web Search, Copilot & AI Features
|
||||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||||
- Disable & remove Microsoft Copilot. (W11 only)
|
- Disable & remove Microsoft Copilot.
|
||||||
- Disable Windows Recall snapshots. (W11 only)
|
- Disable Windows Recall snapshots. (W11 only)
|
||||||
- Disable AI Features in Paint (W11 only)
|
- Disable AI Features in Paint (W11 only)
|
||||||
- Disable AI Features in Notepad (W11 only)
|
- Disable AI Features in Notepad (W11 only)
|
||||||
@@ -41,7 +42,7 @@ Taskbar
|
|||||||
- Align taskbar icons to the left. (W11 only)
|
- Align taskbar icons to the left. (W11 only)
|
||||||
- Hide or change the search icon/box on the taskbar. (W11 only)
|
- Hide or change the search icon/box on the taskbar. (W11 only)
|
||||||
- Hide the taskview button from the taskbar. (W11 only)
|
- Hide the taskview button from the taskbar. (W11 only)
|
||||||
- Disable the widgets service & hide icon from the taskbar.
|
- Disable widgets on the taskbar & lockscreen.
|
||||||
- Hide the chat (meet now) icon from the taskbar.
|
- Hide the chat (meet now) icon from the taskbar.
|
||||||
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
||||||
- Enable the 'Last Active Click' behavior in the taskbar app area.
|
- Enable the 'Last Active Click' behavior in the taskbar app area.
|
||||||
@@ -53,6 +54,7 @@ Start
|
|||||||
Other
|
Other
|
||||||
- Disable Xbox game/screen recording, this also stops gaming overlay popups.
|
- Disable Xbox game/screen recording, this also stops gaming overlay popups.
|
||||||
- Disable Fast Start-up to ensure a full shutdown.
|
- Disable Fast Start-up to ensure a full shutdown.
|
||||||
|
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||||
- Option to apply changes to a different user, instead of the currently logged in user.
|
- Option to apply changes to a different user, instead of the currently logged in user.
|
||||||
- Sysprep mode to apply changes to the Windows Default user profile.
|
- Sysprep mode to apply changes to the Windows Default user profile.
|
||||||
|
|
||||||
@@ -60,16 +62,19 @@ Other
|
|||||||
Default mode
|
Default mode
|
||||||
-------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------
|
||||||
The default mode applies the changes that are recommended for most users. This includes:
|
The default mode applies the changes that are recommended for most users. This includes:
|
||||||
- Remove the default selection of apps, the list can be found in the 'Appslist.txt' file.
|
- Remove the default selection or your custom selection of apps.
|
||||||
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions and ads in start, settings, notifications and more.
|
- Disable tips, tricks, suggestions and ads in start, settings, notifications and more.
|
||||||
|
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||||
- Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper)
|
- Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper)
|
||||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||||
- Disable & remove Microsoft Copilot. (W11 only)
|
- Disable & remove Microsoft Copilot.
|
||||||
|
- Disable Windows Recall snapshots. (W11 only)
|
||||||
- Disable Fast Start-up to ensure a full shutdown.
|
- Disable Fast Start-up to ensure a full shutdown.
|
||||||
|
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||||
- Show file extensions for known file types.
|
- Show file extensions for known file types.
|
||||||
- Hide the 3D objects folder in Windows Explorer. (W10 only)
|
- Hide the 3D objects folder in Windows Explorer. (W10 only)
|
||||||
- Disable the widget service & hide the icon from the taskbar.
|
- Disable widgets on the taskbar & lockscreen.
|
||||||
- Hide the Chat (meet now) icon from the taskbar.
|
- Hide the Chat (meet now) icon from the taskbar.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
8
Get.ps1
8
Get.ps1
@@ -6,7 +6,8 @@ param (
|
|||||||
[string]$User,
|
[string]$User,
|
||||||
[switch]$CreateRestorePoint,
|
[switch]$CreateRestorePoint,
|
||||||
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
|
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
|
||||||
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
[switch]$RunDefaults,
|
||||||
|
[switch]$RunDefaultsLite,
|
||||||
[switch]$RunSavedSettings,
|
[switch]$RunSavedSettings,
|
||||||
[switch]$RemoveApps,
|
[switch]$RemoveApps,
|
||||||
[switch]$RemoveAppsCustom,
|
[switch]$RemoveAppsCustom,
|
||||||
@@ -19,10 +20,12 @@ param (
|
|||||||
[switch]$DisableDVR,
|
[switch]$DisableDVR,
|
||||||
[switch]$DisableTelemetry,
|
[switch]$DisableTelemetry,
|
||||||
[switch]$DisableFastStartup,
|
[switch]$DisableFastStartup,
|
||||||
|
[switch]$DisableModernStandbyNetworking,
|
||||||
[switch]$DisableBingSearches, [switch]$DisableBing,
|
[switch]$DisableBingSearches, [switch]$DisableBing,
|
||||||
[switch]$DisableDesktopSpotlight,
|
[switch]$DisableDesktopSpotlight,
|
||||||
[switch]$DisableLockscrTips, [switch]$DisableLockscreenTips,
|
[switch]$DisableLockscrTips, [switch]$DisableLockscreenTips,
|
||||||
[switch]$DisableWindowsSuggestions, [switch]$DisableSuggestions,
|
[switch]$DisableWindowsSuggestions, [switch]$DisableSuggestions,
|
||||||
|
[switch]$DisableEdgeAds,
|
||||||
[switch]$DisableSettings365Ads,
|
[switch]$DisableSettings365Ads,
|
||||||
[switch]$DisableSettingsHome,
|
[switch]$DisableSettingsHome,
|
||||||
[switch]$ShowHiddenFolders,
|
[switch]$ShowHiddenFolders,
|
||||||
@@ -40,6 +43,7 @@ param (
|
|||||||
[switch]$DisableRecall,
|
[switch]$DisableRecall,
|
||||||
[switch]$DisablePaintAI,
|
[switch]$DisablePaintAI,
|
||||||
[switch]$DisableNotepadAI,
|
[switch]$DisableNotepadAI,
|
||||||
|
[switch]$DisableEdgeAI,
|
||||||
[switch]$DisableWidgets, [switch]$HideWidgets,
|
[switch]$DisableWidgets, [switch]$HideWidgets,
|
||||||
[switch]$DisableChat, [switch]$HideChat,
|
[switch]$DisableChat, [switch]$HideChat,
|
||||||
[switch]$EnableEndTask,
|
[switch]$EnableEndTask,
|
||||||
@@ -82,7 +86,7 @@ Write-Output "------------------------------------------------------------------
|
|||||||
Write-Output "> Downloading Win11Debloat..."
|
Write-Output "> Downloading Win11Debloat..."
|
||||||
|
|
||||||
# Download latest version of Win11Debloat from github as zip archive
|
# Download latest version of Win11Debloat from github as zip archive
|
||||||
Invoke-RestMethod https://api.github.com/repos/Raphire/Win11Debloat/zipball/2025.08.01 -OutFile "$env:TEMP/win11debloat.zip"
|
Invoke-RestMethod https://api.github.com/repos/Raphire/Win11Debloat/zipball/2025.09.13 -OutFile "$env:TEMP/win11debloat.zip"
|
||||||
|
|
||||||
# Remove old script folder if it exists, except for CustomAppsList and SavedSettings files
|
# Remove old script folder if it exists, except for CustomAppsList and SavedSettings files
|
||||||
if (Test-Path "$env:TEMP/Win11Debloat") {
|
if (Test-Path "$env:TEMP/Win11Debloat") {
|
||||||
|
|||||||
36
README.md
36
README.md
@@ -47,7 +47,7 @@ Download & run the script automatically via PowerShell.
|
|||||||
3. Wait for the script to automatically download Win11Debloat.
|
3. Wait for the script to automatically download Win11Debloat.
|
||||||
4. Carefully read through and follow the on-screen instructions.
|
4. Carefully read through and follow the on-screen instructions.
|
||||||
|
|
||||||
This method supports parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
||||||
|
|
||||||
### Traditional method
|
### Traditional method
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ This method supports parameters to customize the behaviour of the script. Please
|
|||||||
|
|
||||||
6. Carefully read through and follow the on-screen instructions.
|
6. Carefully read through and follow the on-screen instructions.
|
||||||
|
|
||||||
This method supports parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
@@ -102,13 +102,15 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
|
|
||||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions and ads in start, settings, notifications, File Explorer, and on the lockscreen.
|
- Disable tips, tricks, suggestions and ads in start, settings, notifications, File Explorer, and on the lockscreen.
|
||||||
|
- Disable ads and the MSN news feed in Microsoft Edge.
|
||||||
- Disable the 'Windows Spotlight' desktop background option.
|
- Disable the 'Windows Spotlight' desktop background option.
|
||||||
|
|
||||||
#### Bing Web Search, Copilot & AI Features
|
#### Bing Web Search, Copilot & AI Features
|
||||||
|
|
||||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||||
- Disable & remove Microsoft Copilot. (W11 only)
|
- Disable & remove Microsoft Copilot.
|
||||||
- Disable Windows Recall snapshots. (W11 only)
|
- Disable Windows Recall snapshots. (W11 only)
|
||||||
|
- Disable AI Features in Edge (W11 only)
|
||||||
- Disable AI Features in Paint (W11 only)
|
- Disable AI Features in Paint (W11 only)
|
||||||
- Disable AI Features in Notepad (W11 only)
|
- Disable AI Features in Notepad (W11 only)
|
||||||
|
|
||||||
@@ -135,7 +137,7 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
- Align taskbar icons to the left. (W11 only)
|
- Align taskbar icons to the left. (W11 only)
|
||||||
- Hide or change the search icon/box on the taskbar. (W11 only)
|
- Hide or change the search icon/box on the taskbar. (W11 only)
|
||||||
- Hide the taskview button from the taskbar. (W11 only)
|
- Hide the taskview button from the taskbar. (W11 only)
|
||||||
- Disable the widgets service & hide icon from the taskbar.
|
- Disable widgets on the taskbar & lockscreen.
|
||||||
- Hide the chat (meet now) icon from the taskbar.
|
- Hide the chat (meet now) icon from the taskbar.
|
||||||
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
||||||
- Enable the 'Last Active Click' behavior in the taskbar app area. This allows you to repeatedly click on an application's icon in the taskbar to switch focus between the open windows of that application.
|
- Enable the 'Last Active Click' behavior in the taskbar app area. This allows you to repeatedly click on an application's icon in the taskbar to switch focus between the open windows of that application.
|
||||||
@@ -149,31 +151,40 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
|
|
||||||
- Disable Xbox game/screen recording, this also stops gaming overlay popups.
|
- Disable Xbox game/screen recording, this also stops gaming overlay popups.
|
||||||
- Disable Fast Start-up to ensure a full shutdown.
|
- Disable Fast Start-up to ensure a full shutdown.
|
||||||
|
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||||
- Option to [apply changes to a different user](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#running-as-another-user), instead of the currently logged in user.
|
- Option to [apply changes to a different user](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#running-as-another-user), instead of the currently logged in user.
|
||||||
- [Sysprep mode](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#sysprep-mode) to apply changes to the Windows Default user profile. Afterwards, all new users will have the changes automatically applied to them.
|
- [Sysprep mode](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#sysprep-mode) to apply changes to the Windows Default user profile. Afterwards, all new users will have the changes automatically applied to them.
|
||||||
|
|
||||||
### Default Settings
|
### Default Settings
|
||||||
|
|
||||||
Win11Debloat offers a default mode that allows you to quickly and easily apply the changes that are recommended for most people. This includes uninstalling apps that most would consider bloatware, removing many annoying distractions and disabling telemetry and tracking. To apply the default settings, launch the script as you normally would and select option `1` in the script menu. Alternatively, you can launch the script with the `-RunDefaults` parameter. Example:
|
Win11Debloat's default mode allows you to quickly and easily apply the changes that are recommended for most people. This includes removing many annoying distractions, disabling telemetry and tracking and optionally uninstalling the default or your custom selection of apps. To apply the default settings, launch the script as you normally would and select option `1` in the script menu.
|
||||||
|
|
||||||
|
Alternatively, you can launch the script with the `-RunDefaults` or `-RunDefaultsLite` parameters to immediately run the defaults without going through the menu or the app removal options. Using the `-RunDefaults` parameter will run the script in default mode and remove the default selection of apps. While using the `-RunDefaultsLite` parameter will run the script in default mode without removing any apps.
|
||||||
|
|
||||||
|
Example:
|
||||||
```Powershell
|
```Powershell
|
||||||
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults
|
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Changes included in the default mode
|
#### Changes included in the default mode
|
||||||
- Remove the default selection of bloatware apps. (See below for full list)
|
- Remove the default or your custom selection of apps. (See below for the default selection of apps)
|
||||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions and ads in start, settings, notifications, File Explorer, and on the lockscreen.
|
- Disable tips, tricks, suggestions and ads in start, settings, notifications, File Explorer, and on the lockscreen.
|
||||||
|
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||||
- Disable & remove Microsoft Copilot. (W11 only)
|
- Disable & remove Microsoft Copilot.
|
||||||
|
- Disable Windows Recall snapshots. (W11 only)
|
||||||
- Disable Fast Start-up to ensure a full shutdown.
|
- Disable Fast Start-up to ensure a full shutdown.
|
||||||
|
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||||
- Show file extensions for known file types.
|
- Show file extensions for known file types.
|
||||||
- Hide the 3D objects folder under 'This pc' from File Explorer. (W10 only)
|
- Hide the 3D objects folder under 'This pc' from File Explorer. (W10 only)
|
||||||
- Disable the widget service & hide the icon from the taskbar.
|
- Disable widgets on the taskbar & lockscreen.
|
||||||
- Hide the Chat (meet now) icon from the taskbar.
|
- Hide the Chat (meet now) icon from the taskbar.
|
||||||
|
|
||||||
#### Apps that ARE removed as part of the default mode
|
#### Apps that ARE removed as part of the default mode
|
||||||
|
|
||||||
|
These apps are uninstalled when you opt to remove the default selection of apps. This includes apps from both Microsoft and third parties.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Click to expand</summary>
|
<summary>Click to expand</summary>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@@ -207,6 +218,7 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
|
|||||||
- Microsoft.Office.Sway
|
- Microsoft.Office.Sway
|
||||||
- Microsoft.OneConnect
|
- Microsoft.OneConnect
|
||||||
- Microsoft.Print3D
|
- Microsoft.Print3D
|
||||||
|
- Microsoft.StartExperiencesApp** (Widgets app)
|
||||||
- Microsoft.SkypeApp
|
- Microsoft.SkypeApp
|
||||||
- Microsoft.Todos
|
- Microsoft.Todos
|
||||||
- Microsoft.WindowsAlarms
|
- Microsoft.WindowsAlarms
|
||||||
@@ -216,6 +228,7 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
|
|||||||
- Microsoft.XboxApp (Old Xbox Console Companion App, no longer supported)
|
- Microsoft.XboxApp (Old Xbox Console Companion App, no longer supported)
|
||||||
- Microsoft.ZuneVideo
|
- Microsoft.ZuneVideo
|
||||||
- MicrosoftCorporationII.MicrosoftFamily (Microsoft Family Safety)
|
- MicrosoftCorporationII.MicrosoftFamily (Microsoft Family Safety)
|
||||||
|
- MicrosoftCorporationII.QuickAssist (Remote assistance tool)
|
||||||
- MicrosoftTeams (Old personal version of MS Teams from the MS Store)
|
- MicrosoftTeams (Old personal version of MS Teams from the MS Store)
|
||||||
- MSTeams (New MS Teams app)
|
- MSTeams (New MS Teams app)
|
||||||
|
|
||||||
@@ -232,7 +245,6 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
|
|||||||
- CyberLinkMediaSuiteEssentials
|
- CyberLinkMediaSuiteEssentials
|
||||||
- DisneyMagicKingdoms
|
- DisneyMagicKingdoms
|
||||||
- Disney
|
- Disney
|
||||||
- Dolby
|
|
||||||
- DrawboardPDF
|
- DrawboardPDF
|
||||||
- Duolingo-LearnLanguagesforFree
|
- Duolingo-LearnLanguagesforFree
|
||||||
- EclipseManager
|
- EclipseManager
|
||||||
@@ -261,7 +273,6 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
|
|||||||
- Shazam
|
- Shazam
|
||||||
- Sidia.LiveWallpaper
|
- Sidia.LiveWallpaper
|
||||||
- SlingTV
|
- SlingTV
|
||||||
- Speed Test
|
|
||||||
- Spotify
|
- Spotify
|
||||||
- TikTok
|
- TikTok
|
||||||
- TuneInRadio
|
- TuneInRadio
|
||||||
@@ -271,12 +282,15 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
|
|||||||
- Wunderlist
|
- Wunderlist
|
||||||
- XING
|
- XING
|
||||||
|
|
||||||
* App is removed when disabling Bing in Windows search.
|
* Removed when disabling Bing web search, Bing AI and Cortana from Windows search
|
||||||
|
** Removed when disabling widgets on the taskbar & lockscreen
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### Apps that are NOT removed as part of the default mode
|
#### Apps that are NOT removed as part of the default mode
|
||||||
|
|
||||||
|
These apps are not removed by default. They will only be removed if you manually select them.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Click to expand</summary>
|
<summary>Click to expand</summary>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
|||||||
11
Regfiles/Disable_Edge_AI_Features.reg
Normal file
11
Regfiles/Disable_Edge_AI_Features.reg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
|
||||||
|
"CopilotCDPPageContext"=dword:00000000
|
||||||
|
"CopilotPageContext"=dword:00000000
|
||||||
|
"HubsSidebarEnabled"=dword:00000000
|
||||||
|
"EdgeEntraCopilotPageContext"=dword:00000000
|
||||||
|
"EdgeHistoryAISearchEnabled"=dword:00000000
|
||||||
|
"ComposeInlineEnabled"=dword:00000000
|
||||||
|
"GenAILocalFoundationalModelSettings"=dword:00000001
|
||||||
|
"NewTabPageBingChatEnabled"=dword:00000000
|
||||||
BIN
Regfiles/Disable_Edge_Ads_And_Suggestions.reg
Normal file
BIN
Regfiles/Disable_Edge_Ads_And_Suggestions.reg
Normal file
Binary file not shown.
5
Regfiles/Disable_Modern_Standby_Networking.reg
Normal file
5
Regfiles/Disable_Modern_Standby_Networking.reg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Power\PowerSettings\f15576e8-98b7-4186-b944-eafa664402d9]
|
||||||
|
"ACSettingIndex"=dword:00000000
|
||||||
|
"DCSettingIndex"=dword:00000000
|
||||||
@@ -2,15 +2,7 @@ Windows Registry Editor Version 5.00
|
|||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
||||||
"DisableCocreator"=dword:00000001
|
"DisableCocreator"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableGenerativeFill"=dword:00000001
|
"DisableGenerativeFill"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableImageCreator"=dword:00000001
|
"DisableImageCreator"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableGenerativeErase"=dword:00000001
|
"DisableGenerativeErase"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableRemoveBackground"=dword:00000001
|
"DisableRemoveBackground"=dword:00000001
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
11
Regfiles/Sysprep/Disable_Edge_AI_Features.reg
Normal file
11
Regfiles/Sysprep/Disable_Edge_AI_Features.reg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
|
||||||
|
"CopilotCDPPageContext"=dword:00000000
|
||||||
|
"CopilotPageContext"=dword:00000000
|
||||||
|
"HubsSidebarEnabled"=dword:00000000
|
||||||
|
"EdgeEntraCopilotPageContext"=dword:00000000
|
||||||
|
"EdgeHistoryAISearchEnabled"=dword:00000000
|
||||||
|
"ComposeInlineEnabled"=dword:00000000
|
||||||
|
"GenAILocalFoundationalModelSettings"=dword:00000001
|
||||||
|
"NewTabPageBingChatEnabled"=dword:00000000
|
||||||
BIN
Regfiles/Sysprep/Disable_Edge_Ads_And_Suggestions.reg
Normal file
BIN
Regfiles/Sysprep/Disable_Edge_Ads_And_Suggestions.reg
Normal file
Binary file not shown.
5
Regfiles/Sysprep/Disable_Modern_Standby_Networking.reg
Normal file
5
Regfiles/Sysprep/Disable_Modern_Standby_Networking.reg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Power\PowerSettings\f15576e8-98b7-4186-b944-eafa664402d9]
|
||||||
|
"ACSettingIndex"=dword:00000000
|
||||||
|
"DCSettingIndex"=dword:00000000
|
||||||
@@ -2,12 +2,7 @@ Windows Registry Editor Version 5.00
|
|||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
||||||
"DisableCocreator"=dword:00000001
|
"DisableCocreator"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableGenerativeFill"=dword:00000001
|
"DisableGenerativeFill"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableImageCreator"=dword:00000001
|
"DisableImageCreator"=dword:00000001
|
||||||
|
|
||||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint]
|
|
||||||
"DisableGenerativeErase"=dword:00000001
|
"DisableGenerativeErase"=dword:00000001
|
||||||
|
"DisableRemoveBackground"=dword:00000001
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -3,3 +3,7 @@ Windows Registry Editor Version 5.00
|
|||||||
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize]
|
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize]
|
||||||
"AppsUseLightTheme"=dword:00000000
|
"AppsUseLightTheme"=dword:00000000
|
||||||
"SystemUsesLightTheme"=dword:00000000
|
"SystemUsesLightTheme"=dword:00000000
|
||||||
|
|
||||||
|
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
|
||||||
|
"AppsUseLightTheme"="reg add HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f"
|
||||||
|
"SystemUsesLightTheme"="reg add HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f"
|
||||||
|
|||||||
7
Regfiles/Undo/Allow_Edge_Telemetry.reg
Normal file
7
Regfiles/Undo/Allow_Edge_Telemetry.reg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
; Allow personalization of ads, Microsoft Edge, search, news and other Microsoft services by sending browsing history, favorites and collections, usage and other browsing data to Microsoft
|
||||||
|
; Allow sending required and optional diagnostic data about browser usage
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
|
||||||
|
"PersonalizationReportingEnabled"=-
|
||||||
|
"DiagnosticData"=-
|
||||||
11
Regfiles/Undo/Enable_Edge_AI_Features.reg
Normal file
11
Regfiles/Undo/Enable_Edge_AI_Features.reg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
|
||||||
|
"CopilotCDPPageContext"=-
|
||||||
|
"CopilotPageContext"=-
|
||||||
|
"HubsSidebarEnabled"=-
|
||||||
|
"EdgeEntraCopilotPageContext"=-
|
||||||
|
"EdgeHistoryAISearchEnabled"=-
|
||||||
|
"ComposeInlineEnabled"=-
|
||||||
|
"GenAILocalFoundationalModelSettings"=-
|
||||||
|
"NewTabPageBingChatEnabled"=-
|
||||||
BIN
Regfiles/Undo/Enable_Edge_Ads_And_Suggestions.reg
Normal file
BIN
Regfiles/Undo/Enable_Edge_Ads_And_Suggestions.reg
Normal file
Binary file not shown.
5
Regfiles/Undo/Enable_Modern_Standby_Networking.reg
Normal file
5
Regfiles/Undo/Enable_Modern_Standby_Networking.reg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Power\PowerSettings\f15576e8-98b7-4186-b944-eafa664402d9]
|
||||||
|
"ACSettingIndex"=dword:00000001
|
||||||
|
"DCSettingIndex"=dword:00000001
|
||||||
@@ -5,3 +5,4 @@ Windows Registry Editor Version 5.00
|
|||||||
"DisableGenerativeFill"=-
|
"DisableGenerativeFill"=-
|
||||||
"DisableImageCreator"=-
|
"DisableImageCreator"=-
|
||||||
"DisableGenerativeErase"=-
|
"DisableGenerativeErase"=-
|
||||||
|
"DisableRemoveBackground"=-
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
286
Win11Debloat.ps1
286
Win11Debloat.ps1
@@ -8,7 +8,8 @@ param (
|
|||||||
[string]$User,
|
[string]$User,
|
||||||
[switch]$CreateRestorePoint,
|
[switch]$CreateRestorePoint,
|
||||||
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
|
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
|
||||||
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
[switch]$RunDefaults,
|
||||||
|
[switch]$RunDefaultsLite,
|
||||||
[switch]$RunSavedSettings,
|
[switch]$RunSavedSettings,
|
||||||
[switch]$RemoveApps,
|
[switch]$RemoveApps,
|
||||||
[switch]$RemoveAppsCustom,
|
[switch]$RemoveAppsCustom,
|
||||||
@@ -21,10 +22,12 @@ param (
|
|||||||
[switch]$DisableDVR,
|
[switch]$DisableDVR,
|
||||||
[switch]$DisableTelemetry,
|
[switch]$DisableTelemetry,
|
||||||
[switch]$DisableFastStartup,
|
[switch]$DisableFastStartup,
|
||||||
|
[switch]$DisableModernStandbyNetworking,
|
||||||
[switch]$DisableBingSearches, [switch]$DisableBing,
|
[switch]$DisableBingSearches, [switch]$DisableBing,
|
||||||
[switch]$DisableDesktopSpotlight,
|
[switch]$DisableDesktopSpotlight,
|
||||||
[switch]$DisableLockscrTips, [switch]$DisableLockscreenTips,
|
[switch]$DisableLockscrTips, [switch]$DisableLockscreenTips,
|
||||||
[switch]$DisableWindowsSuggestions, [switch]$DisableSuggestions,
|
[switch]$DisableWindowsSuggestions, [switch]$DisableSuggestions,
|
||||||
|
[switch]$DisableEdgeAds,
|
||||||
[switch]$DisableSettings365Ads,
|
[switch]$DisableSettings365Ads,
|
||||||
[switch]$DisableSettingsHome,
|
[switch]$DisableSettingsHome,
|
||||||
[switch]$ShowHiddenFolders,
|
[switch]$ShowHiddenFolders,
|
||||||
@@ -42,6 +45,7 @@ param (
|
|||||||
[switch]$DisableRecall,
|
[switch]$DisableRecall,
|
||||||
[switch]$DisablePaintAI,
|
[switch]$DisablePaintAI,
|
||||||
[switch]$DisableNotepadAI,
|
[switch]$DisableNotepadAI,
|
||||||
|
[switch]$DisableEdgeAI,
|
||||||
[switch]$DisableWidgets, [switch]$HideWidgets,
|
[switch]$DisableWidgets, [switch]$HideWidgets,
|
||||||
[switch]$DisableChat, [switch]$HideChat,
|
[switch]$DisableChat, [switch]$HideChat,
|
||||||
[switch]$EnableEndTask,
|
[switch]$EnableEndTask,
|
||||||
@@ -464,7 +468,7 @@ function ForceRemoveEdge {
|
|||||||
$hklm = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $regView)
|
$hklm = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $regView)
|
||||||
$hklm.CreateSubKey('SOFTWARE\Microsoft\EdgeUpdateDev').SetValue('AllowUninstall', '')
|
$hklm.CreateSubKey('SOFTWARE\Microsoft\EdgeUpdateDev').SetValue('AllowUninstall', '')
|
||||||
|
|
||||||
# Create stub (Creating this somehow allows uninstalling edge)
|
# Create stub (Creating this somehow allows uninstalling Edge)
|
||||||
$edgeStub = "$env:SystemRoot\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
|
$edgeStub = "$env:SystemRoot\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
|
||||||
New-Item $edgeStub -ItemType Directory | Out-Null
|
New-Item $edgeStub -ItemType Directory | Out-Null
|
||||||
New-Item "$edgeStub\MicrosoftEdge.exe" | Out-Null
|
New-Item "$edgeStub\MicrosoftEdge.exe" | Out-Null
|
||||||
@@ -497,7 +501,7 @@ function ForceRemoveEdge {
|
|||||||
|
|
||||||
Write-Output "Cleaning up registry..."
|
Write-Output "Cleaning up registry..."
|
||||||
|
|
||||||
# Remove ms edge from autostart
|
# Remove MS Edge from autostart
|
||||||
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
||||||
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "Microsoft Edge Update" /f *>$null
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "Microsoft Edge Update" /f *>$null
|
||||||
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
||||||
@@ -539,6 +543,62 @@ function Strip-Progress {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Check if this machine supports S0 Modern Standby power state. Returns true if S0 Modern Standby is supported, false otherwise.
|
||||||
|
function CheckModernStandbySupport {
|
||||||
|
$count = 0
|
||||||
|
|
||||||
|
try {
|
||||||
|
switch -Regex (powercfg /a) {
|
||||||
|
':' {
|
||||||
|
$count += 1
|
||||||
|
}
|
||||||
|
|
||||||
|
'(.*S0.{1,}\))' {
|
||||||
|
if ($count -eq 1) {
|
||||||
|
return $true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Error: Unable to check for S0 Modern Standby support, powercfg command failed" -ForegroundColor Red
|
||||||
|
Write-Host ""
|
||||||
|
Write-Host "Press any key to continue..."
|
||||||
|
$null = [System.Console]::ReadKey()
|
||||||
|
return $true
|
||||||
|
}
|
||||||
|
|
||||||
|
return $false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Returns the directory path of the specified user, exits script if user path can't be found
|
||||||
|
function GetUserDirectory {
|
||||||
|
param (
|
||||||
|
$userName,
|
||||||
|
$fileName = "",
|
||||||
|
$exitIfPathNotFound = $true
|
||||||
|
)
|
||||||
|
|
||||||
|
$userDirectoryExists = Test-Path "$env:SystemDrive\Users\$userName"
|
||||||
|
$userPath = "$env:SystemDrive\Users\$userName\$fileName"
|
||||||
|
|
||||||
|
if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) {
|
||||||
|
return $userPath
|
||||||
|
}
|
||||||
|
|
||||||
|
$userDirectoryExists = Test-Path $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName"
|
||||||
|
$userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName\$fileName"
|
||||||
|
|
||||||
|
if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) {
|
||||||
|
return $userPath
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Error: Unable to find user directory path for user $userName" -ForegroundColor Red
|
||||||
|
AwaitKeyToExit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Import & execute regfile
|
# Import & execute regfile
|
||||||
function RegImport {
|
function RegImport {
|
||||||
param (
|
param (
|
||||||
@@ -549,14 +609,14 @@ function RegImport {
|
|||||||
Write-Output $message
|
Write-Output $message
|
||||||
|
|
||||||
if ($script:Params.ContainsKey("Sysprep")) {
|
if ($script:Params.ContainsKey("Sysprep")) {
|
||||||
$defaultUserPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), '\Default\NTUSER.DAT'
|
$defaultUserPath = GetUserDirectory -userName "Default" -fileName "NTUSER.DAT"
|
||||||
|
|
||||||
reg load "HKU\Default" $defaultUserPath | Out-Null
|
reg load "HKU\Default" $defaultUserPath | Out-Null
|
||||||
reg import "$PSScriptRoot\Regfiles\Sysprep\$path"
|
reg import "$PSScriptRoot\Regfiles\Sysprep\$path"
|
||||||
reg unload "HKU\Default" | Out-Null
|
reg unload "HKU\Default" | Out-Null
|
||||||
}
|
}
|
||||||
elseif ($script:Params.ContainsKey("User")) {
|
elseif ($script:Params.ContainsKey("User")) {
|
||||||
$userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$($script:Params.Item("User"))\NTUSER.DAT"
|
$userPath = GetUserDirectory -userName $script:Params.Item("User") -fileName "NTUSER.DAT"
|
||||||
|
|
||||||
reg load "HKU\Default" $userPath | Out-Null
|
reg load "HKU\Default" $userPath | Out-Null
|
||||||
reg import "$PSScriptRoot\Regfiles\Sysprep\$path"
|
reg import "$PSScriptRoot\Regfiles\Sysprep\$path"
|
||||||
@@ -619,7 +679,7 @@ function ReplaceStartMenuForAllUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Get path to start menu file for all users
|
# Get path to start menu file for all users
|
||||||
$userPathString = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\*\AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState"
|
$userPathString = GetUserDirectory -userName "*" -fileName "AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState"
|
||||||
$usersStartMenuPaths = get-childitem -path $userPathString
|
$usersStartMenuPaths = get-childitem -path $userPathString
|
||||||
|
|
||||||
# Go through all users and replace the start menu file
|
# Go through all users and replace the start menu file
|
||||||
@@ -628,7 +688,7 @@ function ReplaceStartMenuForAllUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Also replace the start menu file for the default user profile
|
# Also replace the start menu file for the default user profile
|
||||||
$defaultStartMenuPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), '\Default\AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState'
|
$defaultStartMenuPath = GetUserDirectory -userName "Default" -fileName "AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState" -exitIfPathNotFound $false
|
||||||
|
|
||||||
# Create folder if it doesn't exist
|
# Create folder if it doesn't exist
|
||||||
if (-not (Test-Path $defaultStartMenuPath)) {
|
if (-not (Test-Path $defaultStartMenuPath)) {
|
||||||
@@ -653,7 +713,7 @@ function ReplaceStartMenu {
|
|||||||
|
|
||||||
# Change path to correct user if a user was specified
|
# Change path to correct user if a user was specified
|
||||||
if ($script:Params.ContainsKey("User")) {
|
if ($script:Params.ContainsKey("User")) {
|
||||||
$startMenuBinFile = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$(GetUserName)\AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState\start2.bin"
|
$startMenuBinFile = GetUserDirectory -userName "$(GetUserName)" -fileName "AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState\start2.bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if template bin file exists, return early if it doesn't
|
# Check if template bin file exists, return early if it doesn't
|
||||||
@@ -667,9 +727,11 @@ function ReplaceStartMenu {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$userName = [regex]::Match($startMenuBinFile, '(?:Users\\)([^\\]+)(?:\\AppData)').Groups[1].Value
|
||||||
|
|
||||||
# Check if bin file exists, return early if it doesn't
|
# Check if bin file exists, return early if it doesn't
|
||||||
if (-not (Test-Path $startMenuBinFile)) {
|
if (-not (Test-Path $startMenuBinFile)) {
|
||||||
Write-Host "Error: Unable to replace start menu for user $(GetUserName), original start2.bin file not found" -ForegroundColor Red
|
Write-Host "Error: Unable to replace start menu for user $userName, original start2.bin file not found" -ForegroundColor Red
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -681,7 +743,7 @@ function ReplaceStartMenu {
|
|||||||
# Copy template file
|
# Copy template file
|
||||||
Copy-Item -Path $startMenuTemplate -Destination $startMenuBinFile -Force
|
Copy-Item -Path $startMenuTemplate -Destination $startMenuBinFile -Force
|
||||||
|
|
||||||
Write-Output "Replaced start menu for user $(GetUserName)"
|
Write-Output "Replaced start menu for user $userName"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -737,12 +799,15 @@ function PrintHeader {
|
|||||||
function PrintFromFile {
|
function PrintFromFile {
|
||||||
param (
|
param (
|
||||||
$path,
|
$path,
|
||||||
$title
|
$title,
|
||||||
|
$printHeader = $true
|
||||||
)
|
)
|
||||||
|
|
||||||
Clear-Host
|
if ($printHeader) {
|
||||||
|
Clear-Host
|
||||||
|
|
||||||
PrintHeader $title
|
PrintHeader $title
|
||||||
|
}
|
||||||
|
|
||||||
# Get & print script menu from file
|
# Get & print script menu from file
|
||||||
Foreach ($line in (Get-Content -Path $path )) {
|
Foreach ($line in (Get-Content -Path $path )) {
|
||||||
@@ -775,17 +840,31 @@ function GetUserName {
|
|||||||
|
|
||||||
function CreateSystemRestorePoint {
|
function CreateSystemRestorePoint {
|
||||||
Write-Output "> Attempting to create a system restore point..."
|
Write-Output "> Attempting to create a system restore point..."
|
||||||
|
|
||||||
$SysRestore = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name "RPSessionInterval"
|
$SysRestore = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name "RPSessionInterval"
|
||||||
|
|
||||||
if ($SysRestore.RPSessionInterval -eq 0) {
|
if ($SysRestore.RPSessionInterval -eq 0) {
|
||||||
if ($Silent -or $( Read-Host -Prompt "System restore is disabled, would you like to enable it and create a restore point? (y/n)") -eq 'y') {
|
if ($Silent -or $( Read-Host -Prompt "System restore is disabled, would you like to enable it and create a restore point? (y/n)") -eq 'y') {
|
||||||
try {
|
$enableSystemRestoreJob = Start-Job {
|
||||||
Enable-ComputerRestore -Drive "$env:SystemDrive"
|
try {
|
||||||
} catch {
|
Enable-ComputerRestore -Drive "$env:SystemDrive"
|
||||||
Write-Host "Error: Failed to enable System Restore: $_" -ForegroundColor Red
|
} catch {
|
||||||
|
Write-Host "Error: Failed to enable System Restore: $_" -ForegroundColor Red
|
||||||
|
Write-Output ""
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$enableSystemRestoreJobDone = $enableSystemRestoreJob | Wait-Job -TimeOut 20
|
||||||
|
|
||||||
|
if (-not $enableSystemRestoreJobDone) {
|
||||||
|
Write-Host "Error: Failed to enable system restore and create restore point, operation timed out" -ForegroundColor Red
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
|
Write-Output "Press any key to continue anyway..."
|
||||||
|
$null = [System.Console]::ReadKey()
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
Receive-Job $enableSystemRestoreJob
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
@@ -793,24 +872,37 @@ function CreateSystemRestorePoint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Find existing restore points that are less than 24 hours old
|
$createRestorePointJob = Start-Job {
|
||||||
try {
|
# Find existing restore points that are less than 24 hours old
|
||||||
$recentRestorePoints = Get-ComputerRestorePoint | Where-Object { (Get-Date) - [System.Management.ManagementDateTimeConverter]::ToDateTime($_.CreationTime) -le (New-TimeSpan -Hours 24) }
|
|
||||||
} catch {
|
|
||||||
Write-Host "Error: Unable to retrieve existing restore points: $_" -ForegroundColor Red
|
|
||||||
Write-Output ""
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($recentRestorePoints.Count -eq 0) {
|
|
||||||
try {
|
try {
|
||||||
Checkpoint-Computer -Description "Restore point created by Win11Debloat" -RestorePointType "MODIFY_SETTINGS"
|
$recentRestorePoints = Get-ComputerRestorePoint | Where-Object { (Get-Date) - [System.Management.ManagementDateTimeConverter]::ToDateTime($_.CreationTime) -le (New-TimeSpan -Hours 24) }
|
||||||
Write-Output "System restore point created successfully"
|
|
||||||
} catch {
|
} catch {
|
||||||
Write-Host "Error: Unable to create restore point: $_" -ForegroundColor Red
|
Write-Host "Error: Unable to retrieve existing restore points: $_" -ForegroundColor Red
|
||||||
|
Write-Output ""
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($recentRestorePoints.Count -eq 0) {
|
||||||
|
try {
|
||||||
|
Checkpoint-Computer -Description "Restore point created by Win11Debloat" -RestorePointType "MODIFY_SETTINGS"
|
||||||
|
Write-Output "System restore point created successfully"
|
||||||
|
} catch {
|
||||||
|
Write-Host "Error: Unable to create restore point: $_" -ForegroundColor Red
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "A recent restore point already exists, no new restore point was created." -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$createRestorePointJobDone = $createRestorePointJob | Wait-Job -TimeOut 20
|
||||||
|
|
||||||
|
if (-not $createRestorePointJobDone) {
|
||||||
|
Write-Host "Error: Failed to create system restore point, operation timed out" -ForegroundColor Red
|
||||||
|
Write-Output ""
|
||||||
|
Write-Output "Press any key to continue anyway..."
|
||||||
|
$null = [System.Console]::ReadKey()
|
||||||
} else {
|
} else {
|
||||||
Write-Host "A recent restore point already exists, no new restore point was created." -ForegroundColor Yellow
|
Receive-Job $createRestorePointJob
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
@@ -885,8 +977,9 @@ function DisplayCustomModeOptions {
|
|||||||
|
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
|
|
||||||
if ($( Read-Host -Prompt "Disable tips, tricks, suggestions and ads in start, settings, notifications, explorer and lockscreen? (y/n)" ) -eq 'y') {
|
if ($( Read-Host -Prompt "Disable tips, tricks, suggestions and ads in start, settings, notifications, explorer, lockscreen and Edge? (y/n)" ) -eq 'y') {
|
||||||
AddParameter 'DisableSuggestions' 'Disable tips, tricks, suggestions and ads in start, settings, notifications and File Explorer'
|
AddParameter 'DisableSuggestions' 'Disable tips, tricks, suggestions and ads in start, settings, notifications and File Explorer'
|
||||||
|
AddParameter 'DisableEdgeAds' 'Disable ads, suggestions and the MSN news feed in Microsoft Edge'
|
||||||
AddParameter 'DisableSettings365Ads' 'Disable Microsoft 365 ads in Settings Home'
|
AddParameter 'DisableSettings365Ads' 'Disable Microsoft 365 ads in Settings Home'
|
||||||
AddParameter 'DisableLockscreenTips' 'Disable tips & tricks on the lockscreen'
|
AddParameter 'DisableLockscreenTips' 'Disable tips & tricks on the lockscreen'
|
||||||
}
|
}
|
||||||
@@ -906,7 +999,7 @@ function DisplayCustomModeOptions {
|
|||||||
Write-Host "Options:" -ForegroundColor Yellow
|
Write-Host "Options:" -ForegroundColor Yellow
|
||||||
Write-Host " (n) Don't disable any AI features" -ForegroundColor Yellow
|
Write-Host " (n) Don't disable any AI features" -ForegroundColor Yellow
|
||||||
Write-Host " (1) Disable Microsoft Copilot and Windows Recall snapshots" -ForegroundColor Yellow
|
Write-Host " (1) Disable Microsoft Copilot and Windows Recall snapshots" -ForegroundColor Yellow
|
||||||
Write-Host " (2) Disable Microsoft Copilot, Windows Recall snapshots and AI features in Paint and Notepad" -ForegroundColor Yellow
|
Write-Host " (2) Disable Microsoft Copilot, Windows Recall snapshots and AI features in Microsoft Edge, Paint and Notepad" -ForegroundColor Yellow
|
||||||
$DisableAIInput = Read-Host "Do you want to disable any AI features? This applies to all users (n/1/2)"
|
$DisableAIInput = Read-Host "Do you want to disable any AI features? This applies to all users (n/1/2)"
|
||||||
}
|
}
|
||||||
while ($DisableAIInput -ne 'n' -and $DisableAIInput -ne '0' -and $DisableAIInput -ne '1' -and $DisableAIInput -ne '2')
|
while ($DisableAIInput -ne 'n' -and $DisableAIInput -ne '0' -and $DisableAIInput -ne '1' -and $DisableAIInput -ne '2')
|
||||||
@@ -920,6 +1013,7 @@ function DisplayCustomModeOptions {
|
|||||||
'2' {
|
'2' {
|
||||||
AddParameter 'DisableCopilot' 'Disable & remove Microsoft Copilot'
|
AddParameter 'DisableCopilot' 'Disable & remove Microsoft Copilot'
|
||||||
AddParameter 'DisableRecall' 'Disable Windows Recall snapshots'
|
AddParameter 'DisableRecall' 'Disable Windows Recall snapshots'
|
||||||
|
AddParameter 'DisableEdgeAI' 'Disable AI features in Edge'
|
||||||
AddParameter 'DisablePaintAI' 'Disable AI features in Paint'
|
AddParameter 'DisablePaintAI' 'Disable AI features in Paint'
|
||||||
AddParameter 'DisableNotepadAI' 'Disable AI features in Notepad'
|
AddParameter 'DisableNotepadAI' 'Disable AI features in Notepad'
|
||||||
}
|
}
|
||||||
@@ -975,6 +1069,15 @@ function DisplayCustomModeOptions {
|
|||||||
AddParameter 'DisableFastStartup' 'Disable Fast Start-up'
|
AddParameter 'DisableFastStartup' 'Disable Fast Start-up'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Only show this option for Windows 11 users running build 22000 or later, and if the machine has at least one battery
|
||||||
|
if (($WinVersion -ge 22000) -and $script:ModernStandbySupported) {
|
||||||
|
Write-Output ""
|
||||||
|
|
||||||
|
if ($( Read-Host -Prompt "Disable network connectivity during Modern Standby? This applies to all users (y/n)" ) -eq 'y') {
|
||||||
|
AddParameter 'DisableModernStandbyNetworking' 'Disable network connectivity during Modern Standby'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Only show option for disabling context menu items for Windows 10 users or if the user opted to restore the Windows 10 context menu
|
# Only show option for disabling context menu items for Windows 10 users or if the user opted to restore the Windows 10 context menu
|
||||||
if ((get-ciminstance -query "select caption from win32_operatingsystem where caption like '%Windows 10%'") -or $script:Params.ContainsKey('RevertContextMenu')) {
|
if ((get-ciminstance -query "select caption from win32_operatingsystem where caption like '%Windows 10%'") -or $script:Params.ContainsKey('RevertContextMenu')) {
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
@@ -1096,8 +1199,8 @@ function DisplayCustomModeOptions {
|
|||||||
|
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
|
|
||||||
if ($( Read-Host -Prompt " Disable the widgets service and hide the icon from the taskbar? (y/n)" ) -eq 'y') {
|
if ($( Read-Host -Prompt " Disable the widgets service to remove widgets on the taskbar & lockscreen? (y/n)" ) -eq 'y') {
|
||||||
AddParameter 'DisableWidgets' 'Disable the widget service & hide the widget (news and interests) icon from the taskbar'
|
AddParameter 'DisableWidgets' 'Disable widgets on the taskbar & lockscreen'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Only show this options for Windows users running build 22621 or earlier
|
# Only show this options for Windows users running build 22621 or earlier
|
||||||
@@ -1256,6 +1359,9 @@ else {
|
|||||||
# Get current Windows build version to compare against features
|
# Get current Windows build version to compare against features
|
||||||
$WinVersion = Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' CurrentBuild
|
$WinVersion = Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' CurrentBuild
|
||||||
|
|
||||||
|
# Check if the machine supports Modern Standby, this is used to determine if the DisableModernStandbyNetworking option can be used
|
||||||
|
$script:ModernStandbySupported = CheckModernStandbySupport
|
||||||
|
|
||||||
$script:Params = $PSBoundParameters
|
$script:Params = $PSBoundParameters
|
||||||
$script:FirstSelection = $true
|
$script:FirstSelection = $true
|
||||||
$SPParams = 'WhatIf', 'Confirm', 'Verbose', 'Silent', 'Sysprep', 'Debug', 'User', 'CreateRestorePoint', 'LogPath'
|
$SPParams = 'WhatIf', 'Confirm', 'Verbose', 'Silent', 'Sysprep', 'Debug', 'User', 'CreateRestorePoint', 'LogPath'
|
||||||
@@ -1282,15 +1388,9 @@ else {
|
|||||||
$ProgressPreference = 'Continue'
|
$ProgressPreference = 'Continue'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make sure all requirements for Sysprep are met, if Sysprep is enabled
|
|
||||||
if ($script:Params.ContainsKey("Sysprep")) {
|
if ($script:Params.ContainsKey("Sysprep")) {
|
||||||
$defaultUserPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), '\Default\NTUSER.DAT'
|
$defaultUserPath = GetUserDirectory -userName "Default"
|
||||||
|
|
||||||
# Exit script if default user directory or NTUSER.DAT file cannot be found
|
|
||||||
if (-not (Test-Path "$defaultUserPath")) {
|
|
||||||
Write-Host "Error: Unable to start Win11Debloat in Sysprep mode, cannot find default user folder at '$defaultUserPath'" -ForegroundColor Red
|
|
||||||
AwaitKeyToExit
|
|
||||||
}
|
|
||||||
# Exit script if run in Sysprep mode on Windows 10
|
# Exit script if run in Sysprep mode on Windows 10
|
||||||
if ($WinVersion -lt 22000) {
|
if ($WinVersion -lt 22000) {
|
||||||
Write-Host "Error: Win11Debloat Sysprep mode is not supported on Windows 10" -ForegroundColor Red
|
Write-Host "Error: Win11Debloat Sysprep mode is not supported on Windows 10" -ForegroundColor Red
|
||||||
@@ -1300,13 +1400,7 @@ if ($script:Params.ContainsKey("Sysprep")) {
|
|||||||
|
|
||||||
# Make sure all requirements for User mode are met, if User is specified
|
# Make sure all requirements for User mode are met, if User is specified
|
||||||
if ($script:Params.ContainsKey("User")) {
|
if ($script:Params.ContainsKey("User")) {
|
||||||
$userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$($script:Params.Item("User"))\NTUSER.DAT"
|
$userPath = GetUserDirectory -userName $script:Params.Item("User")
|
||||||
|
|
||||||
# Exit script if user directory or NTUSER.DAT file cannot be found
|
|
||||||
if (-not (Test-Path "$userPath")) {
|
|
||||||
Write-Host "Error: Unable to run Win11Debloat for user $($script:Params.Item("User")), cannot find user data at '$userPath'" -ForegroundColor Red
|
|
||||||
AwaitKeyToExit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove SavedSettings file if it exists and is empty
|
# Remove SavedSettings file if it exists and is empty
|
||||||
@@ -1333,8 +1427,8 @@ if ($RunAppConfigurator -or $RunAppsListGenerator) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Change script execution based on provided parameters or user input
|
# Change script execution based on provided parameters or user input
|
||||||
if ((-not $script:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunSavedSettings -or ($SPParamCount -eq $script:Params.Count)) {
|
if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSavedSettings -or ($SPParamCount -eq $script:Params.Count)) {
|
||||||
if ($RunDefaults -or $RunWin11Defaults) {
|
if ($RunDefaults -or $RunDefaultsLite) {
|
||||||
$Mode = '1'
|
$Mode = '1'
|
||||||
}
|
}
|
||||||
elseif ($RunSavedSettings) {
|
elseif ($RunSavedSettings) {
|
||||||
@@ -1389,15 +1483,74 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunS
|
|||||||
switch ($Mode) {
|
switch ($Mode) {
|
||||||
# Default mode, loads defaults after confirmation
|
# Default mode, loads defaults after confirmation
|
||||||
'1' {
|
'1' {
|
||||||
|
if (-not $script:Params.ContainsKey('CreateRestorePoint')) {
|
||||||
|
$script:Params.Add('CreateRestorePoint', $true)
|
||||||
|
}
|
||||||
|
|
||||||
# Show the default settings with confirmation, unless Silent parameter was passed
|
# Show the default settings with confirmation, unless Silent parameter was passed
|
||||||
if (-not $Silent) {
|
if (-not $Silent) {
|
||||||
PrintFromFile "$PSScriptRoot/Assets/Menus/DefaultSettings" "Default Mode"
|
# Show options for app removal
|
||||||
|
if ((-not $RunDefaults) -and (-not $RunDefaultsLite)) {
|
||||||
|
PrintHeader 'Default Mode'
|
||||||
|
|
||||||
|
Do {
|
||||||
|
Write-Host "Options:" -ForegroundColor Yellow
|
||||||
|
Write-Host " (n) Don't remove any apps" -ForegroundColor Yellow
|
||||||
|
Write-Host " (1) Only remove the default selection of bloatware apps" -ForegroundColor Yellow
|
||||||
|
Write-Host " (2) Manually select which apps to remove" -ForegroundColor Yellow
|
||||||
|
$RemoveAppsInput = Read-Host "Do you want to remove any apps? Apps will be removed for all users (n/1/2)"
|
||||||
|
|
||||||
|
# Show app selection form if user entered option 3
|
||||||
|
if ($RemoveAppsInput -eq '2') {
|
||||||
|
$result = ShowAppSelectionForm
|
||||||
|
|
||||||
|
if ($result -ne [System.Windows.Forms.DialogResult]::OK) {
|
||||||
|
# User cancelled or closed app selection, show error and change RemoveAppsInput so the menu will be shown again
|
||||||
|
Write-Output ""
|
||||||
|
Write-Host "Cancelled application selection, please try again" -ForegroundColor Red
|
||||||
|
|
||||||
|
$RemoveAppsInput = 'c'
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Output ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while ($RemoveAppsInput -ne 'n' -and $RemoveAppsInput -ne '0' -and $RemoveAppsInput -ne '1' -and $RemoveAppsInput -ne '2')
|
||||||
|
} elseif ($RunDefaultsLite) {
|
||||||
|
$RemoveAppsInput = '0'
|
||||||
|
} else {
|
||||||
|
$RemoveAppsInput = '1'
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintHeader 'Default Mode'
|
||||||
|
|
||||||
|
Write-Output "Win11Debloat will make the following changes:"
|
||||||
|
|
||||||
|
# Select correct option based on user input
|
||||||
|
switch ($RemoveAppsInput) {
|
||||||
|
'1' {
|
||||||
|
if (-not $script:Params.ContainsKey('RemoveApps')) {
|
||||||
|
$script:Params.Add('RemoveApps', $true)
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Output "- Remove the default selection of apps."
|
||||||
|
}
|
||||||
|
'2' {
|
||||||
|
if (-not $script:Params.ContainsKey('RemoveAppsCustom')) {
|
||||||
|
$script:Params.Add('RemoveAppsCustom', $true)
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Output "- Remove your custom selection of $($script:SelectedApps.Count) apps."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintFromFile "$PSScriptRoot/Assets/Menus/DefaultSettings" "Default Mode" $false
|
||||||
|
|
||||||
Write-Output "Press enter to execute the script or press CTRL+C to quit..."
|
Write-Output "Press enter to execute the script or press CTRL+C to quit..."
|
||||||
Read-Host | Out-Null
|
Read-Host | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
$DefaultParameterNames = 'CreateRestorePoint','RemoveApps','DisableTelemetry','DisableBing','DisableLockscreenTips','DisableSuggestions','ShowKnownFileExt','DisableWidgets','HideChat','DisableCopilot','DisableFastStartup'
|
$DefaultParameterNames = 'DisableTelemetry','DisableBing','DisableLockscreenTips','DisableSuggestions','DisableEdgeAds','ShowKnownFileExt','DisableWidgets','HideChat','DisableFastStartup','DisableCopilot'
|
||||||
|
|
||||||
PrintHeader 'Default Mode'
|
PrintHeader 'Default Mode'
|
||||||
|
|
||||||
@@ -1412,6 +1565,17 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunS
|
|||||||
if ((get-ciminstance -query "select caption from win32_operatingsystem where caption like '%Windows 10%'") -and (-not $script:Params.ContainsKey('Hide3dObjects'))) {
|
if ((get-ciminstance -query "select caption from win32_operatingsystem where caption like '%Windows 10%'") -and (-not $script:Params.ContainsKey('Hide3dObjects'))) {
|
||||||
$script:Params.Add('Hide3dObjects', $Hide3dObjects)
|
$script:Params.Add('Hide3dObjects', $Hide3dObjects)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Only add these options for Windows 11 users (build 22000+), if it doesn't already exist
|
||||||
|
if ($WinVersion -ge 22000) {
|
||||||
|
if (-not $script:Params.ContainsKey('DisableRecall')) {
|
||||||
|
$script:Params.Add('DisableRecall', $true)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($script:ModernStandbySupported -and (-not $script:Params.ContainsKey('DisableModernStandbyNetworking'))) {
|
||||||
|
$script:Params.Add('DisableModernStandbyNetworking', $true)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Custom mode, show & add options based on user input
|
# Custom mode, show & add options based on user input
|
||||||
@@ -1572,6 +1736,10 @@ switch ($script:Params.Keys) {
|
|||||||
RegImport "> Disabling tips, tricks, suggestions and ads across Windows..." "Disable_Windows_Suggestions.reg"
|
RegImport "> Disabling tips, tricks, suggestions and ads across Windows..." "Disable_Windows_Suggestions.reg"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
'DisableEdgeAds' {
|
||||||
|
RegImport "> Disabling ads, suggestions and the MSN news feed in Microsoft Edge..." "Disable_Edge_Ads_And_Suggestions.reg"
|
||||||
|
continue
|
||||||
|
}
|
||||||
{$_ -in "DisableLockscrTips", "DisableLockscreenTips"} {
|
{$_ -in "DisableLockscrTips", "DisableLockscreenTips"} {
|
||||||
RegImport "> Disabling tips & tricks on the lockscreen..." "Disable_Lockscreen_Tips.reg"
|
RegImport "> Disabling tips & tricks on the lockscreen..." "Disable_Lockscreen_Tips.reg"
|
||||||
continue
|
continue
|
||||||
@@ -1608,6 +1776,10 @@ switch ($script:Params.Keys) {
|
|||||||
RegImport "> Disabling Windows Recall snapshots..." "Disable_AI_Recall.reg"
|
RegImport "> Disabling Windows Recall snapshots..." "Disable_AI_Recall.reg"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
'DisableEdgeAI' {
|
||||||
|
RegImport "> Disabling AI features in Microsoft Edge..." "Disable_Edge_AI_Features.reg"
|
||||||
|
continue
|
||||||
|
}
|
||||||
'DisablePaintAI' {
|
'DisablePaintAI' {
|
||||||
RegImport "> Disabling AI features in Paint..." "Disable_Paint_AI_Features.reg"
|
RegImport "> Disabling AI features in Paint..." "Disable_Paint_AI_Features.reg"
|
||||||
continue
|
continue
|
||||||
@@ -1632,6 +1804,10 @@ switch ($script:Params.Keys) {
|
|||||||
RegImport "> Disabling Fast Start-up..." "Disable_Fast_Startup.reg"
|
RegImport "> Disabling Fast Start-up..." "Disable_Fast_Startup.reg"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
'DisableModernStandbyNetworking' {
|
||||||
|
RegImport "> Disabling network connectivity during Modern Standby..." "Disable_Modern_Standby_Networking.reg"
|
||||||
|
continue
|
||||||
|
}
|
||||||
'ClearStart' {
|
'ClearStart' {
|
||||||
Write-Output "> Removing all pinned apps from the start menu for user $(GetUserName)..."
|
Write-Output "> Removing all pinned apps from the start menu for user $(GetUserName)..."
|
||||||
ReplaceStartMenu
|
ReplaceStartMenu
|
||||||
@@ -1697,7 +1873,7 @@ switch ($script:Params.Keys) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
{$_ -in "HideWidgets", "DisableWidgets"} {
|
{$_ -in "HideWidgets", "DisableWidgets"} {
|
||||||
RegImport "> Disabling the widget service and hiding the widget icon from the taskbar..." "Disable_Widgets_Taskbar.reg"
|
RegImport "> Disabling widgets on the taskbar & lockscreen..." "Disable_Widgets_Service.reg"
|
||||||
|
|
||||||
# Also remove the app package for Widgets
|
# Also remove the app package for Widgets
|
||||||
$appsList = 'Microsoft.StartExperiencesApp'
|
$appsList = 'Microsoft.StartExperiencesApp'
|
||||||
|
|||||||
Reference in New Issue
Block a user