Added option to not remove any apps, or remove your custom selection of apps in Default mode

This commit is contained in:
Raphire
2025-09-13 23:36:38 +02:00
parent bdf55ed6ba
commit 4e4bf0d553
5 changed files with 80 additions and 19 deletions

View File

@@ -1,5 +1,3 @@
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 tips, tricks, suggestions and ads in start, settings, notifications and more.
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.

View File

@@ -62,7 +62,7 @@ Other
Default mode
-------------------------------------------------------------------------------------------
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 tips, tricks, suggestions and ads in start, settings, notifications and more.
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.

View File

@@ -6,7 +6,8 @@ param (
[string]$User,
[switch]$CreateRestorePoint,
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
[switch]$RunDefaults, [switch]$RunWin11Defaults,
[switch]$RunDefaults,
[switch]$RunDefaultsLite,
[switch]$RunSavedSettings,
[switch]$RemoveApps,
[switch]$RemoveAppsCustom,
@@ -85,7 +86,7 @@ Write-Output "------------------------------------------------------------------
Write-Output "> Downloading Win11Debloat..."
# Download latest version of Win11Debloat from github as zip archive
Invoke-RestMethod https://api.github.com/repos/Raphire/Win11Debloat/zipball/2025.09.08 -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
if (Test-Path "$env:TEMP/Win11Debloat") {

View File

@@ -157,14 +157,17 @@ Below is an overview of the key features and functionality offered by Win11Deblo
### 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
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults
```
#### 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 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.
@@ -180,6 +183,8 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
#### 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>
<summary>Click to expand</summary>
<blockquote>
@@ -284,6 +289,8 @@ Win11Debloat offers a default mode that allows you to quickly and easily apply t
#### 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>
<summary>Click to expand</summary>
<blockquote>

View File

@@ -8,7 +8,8 @@ param (
[string]$User,
[switch]$CreateRestorePoint,
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
[switch]$RunDefaults, [switch]$RunWin11Defaults,
[switch]$RunDefaults,
[switch]$RunDefaultsLite,
[switch]$RunSavedSettings,
[switch]$RemoveApps,
[switch]$RemoveAppsCustom,
@@ -798,12 +799,15 @@ function PrintHeader {
function PrintFromFile {
param (
$path,
$title
$title,
$printHeader = $true
)
Clear-Host
if ($printHeader) {
Clear-Host
PrintHeader $title
PrintHeader $title
}
# Get & print script menu from file
Foreach ($line in (Get-Content -Path $path )) {
@@ -1423,8 +1427,8 @@ if ($RunAppConfigurator -or $RunAppsListGenerator) {
}
# 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 ($RunDefaults -or $RunWin11Defaults) {
if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSavedSettings -or ($SPParamCount -eq $script:Params.Count)) {
if ($RunDefaults -or $RunDefaultsLite) {
$Mode = '1'
}
elseif ($RunSavedSettings) {
@@ -1481,13 +1485,64 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunS
'1' {
# Show the default settings with confirmation, unless Silent parameter was passed
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' {
$script:Params.Add('RemoveApps', $true)
Write-Output "- Remove the default selection of apps."
}
'2' {
$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..."
Read-Host | Out-Null
}
$DefaultParameterNames = 'CreateRestorePoint','RemoveApps','DisableTelemetry','DisableBing','DisableLockscreenTips','DisableSuggestions','DisableEdgeAds','ShowKnownFileExt','DisableWidgets','HideChat','DisableCopilot','DisableFastStartup'
$DefaultParameterNames = 'CreateRestorePoint','DisableTelemetry','DisableBing','DisableLockscreenTips','DisableSuggestions','DisableEdgeAds','ShowKnownFileExt','DisableWidgets','HideChat','DisableFastStartup','DisableCopilot'
PrintHeader 'Default Mode'
@@ -1505,13 +1560,13 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunS
# Only add these options for Windows 11 users (build 22000+), if it doesn't already exist
if ($WinVersion -ge 22000) {
if ($script:ModernStandbySupported -and (-not $script:Params.ContainsKey('DisableModernStandbyNetworking'))) {
$script:Params.Add('DisableModernStandbyNetworking', $true)
}
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)
}
}
}