7 Commits

7 changed files with 53 additions and 39 deletions

View File

@@ -6,7 +6,7 @@ disable telemetry, remove intrusive interface elements and much more.
All Features All Features
------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------
App Removal App Removal
- Remove a wide variety of bloatware apps. - Remove a wide variety of preinstalled apps.
- Remove or replace all pinned apps from start for the current user, or for all existing & new users. (W11 only) - Remove or replace all pinned apps from start for the current user, or for all existing & new users. (W11 only)
Telemetry, Tracking & Suggested Content Telemetry, Tracking & Suggested Content
@@ -34,11 +34,11 @@ Personalisation
File Explorer File Explorer
- Change the default location that File Explorer opens to. - Change the default location that File Explorer opens to.
- Show hidden files, folders & drives. - Show hidden files, folders and drives.
- Show file extensions for known file types. - Show file extensions for known file types.
- Hide the Home or Gallery section from the File Explorer navigation pane. (W11 only) - Hide the Home or Gallery section from the File Explorer navigation pane. (W11 only)
- Hide the 3D objects, music or OneDrive folder from the File Explorer sidepanel. (W10 only) - Hide the 3D objects, music or OneDrive folder from the File Explorer navigation pane. (W10 only)
- Hide duplicate removable drive entries from the File Explorer sidepanel. - Hide duplicate removable drive entries from the File Explorer navigation pane.
Taskbar Taskbar
- Align taskbar icons to the left. (W11 only) - Align taskbar icons to the left. (W11 only)
@@ -67,9 +67,8 @@ Other
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 or your custom selection of apps. - 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 & ads across Windows.
- Disable ads, suggestions and the MSN news feed in Microsoft Edge. - Disable ads, suggestions and the MSN news feed in Microsoft Edge.
- 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. - Disable & remove Microsoft Copilot.
- Disable Windows Recall. (W11 only) - Disable Windows Recall. (W11 only)

View File

@@ -88,7 +88,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.09.27 -OutFile "$env:TEMP/win11debloat.zip" Invoke-RestMethod https://api.github.com/repos/Raphire/Win11Debloat/zipball/2025.09.28 -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") {

View File

@@ -101,8 +101,8 @@ Below is an overview of the key features and functionality offered by Win11Deblo
#### 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 and ads in start, settings, notifications, File Explorer, and on the lockscreen. - Disable tips, tricks, suggestions & ads across Windows.
- Disable ads and the MSN news feed in Microsoft Edge. - 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
@@ -169,7 +169,7 @@ Alternatively, you can launch the script with the `-RunDefaults` or `-RunDefault
#### Changes included in the default mode #### Changes included in the default mode
- Remove the default or your custom selection of apps. (See below for the default selection of apps) - 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 & ads across Windows.
- Disable ads, suggestions and the MSN news feed in Microsoft Edge. - 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. - Disable & remove Microsoft Copilot.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -582,18 +582,23 @@ function GetUserDirectory {
$exitIfPathNotFound = $true $exitIfPathNotFound = $true
) )
$userDirectoryExists = Test-Path "$env:SystemDrive\Users\$userName" try {
$userPath = "$env:SystemDrive\Users\$userName\$fileName" $userDirectoryExists = Test-Path "$env:SystemDrive\Users\$userName"
$userPath = "$env:SystemDrive\Users\$userName\$fileName"
if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) { if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) {
return $userPath return $userPath
} }
$userDirectoryExists = Test-Path $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName" $userDirectoryExists = Test-Path ($env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName")
$userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName\$fileName" $userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName\$fileName"
if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) { if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) {
return $userPath return $userPath
}
} catch {
Write-Host "Error: Something went wrong when trying to find the user directory path for user $userName. Please ensure the user exists on this system." -ForegroundColor Red
AwaitKeyToExit
} }
Write-Host "Error: Unable to find user directory path for user $userName" -ForegroundColor Red Write-Host "Error: Unable to find user directory path for user $userName" -ForegroundColor Red
@@ -715,7 +720,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 = GetUserDirectory -userName "$(GetUserName)" -fileName "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" -exitIfPathNotFound $false
} }
# Check if template bin file exists, return early if it doesn't # Check if template bin file exists, return early if it doesn't
@@ -731,16 +736,15 @@ function ReplaceStartMenu {
$userName = [regex]::Match($startMenuBinFile, '(?:Users\\)([^\\]+)(?:\\AppData)').Groups[1].Value $userName = [regex]::Match($startMenuBinFile, '(?:Users\\)([^\\]+)(?:\\AppData)').Groups[1].Value
# Check if bin file exists, return early if it doesn't
if (-not (Test-Path $startMenuBinFile)) {
Write-Host "Error: Unable to replace start menu for user $userName, original start2.bin file not found" -ForegroundColor Red
return
}
$backupBinFile = $startMenuBinFile + ".bak" $backupBinFile = $startMenuBinFile + ".bak"
# Backup current start menu file if (Test-Path $startMenuBinFile) {
Move-Item -Path $startMenuBinFile -Destination $backupBinFile -Force # Backup current start menu file
Move-Item -Path $startMenuBinFile -Destination $backupBinFile -Force
} else {
Write-Host "Warning: Unable to find original start2.bin file for user $userName. No backup was created for this user!" -ForegroundColor Yellow
New-Item -ItemType File -Path $startMenuBinFile -Force
}
# Copy template file # Copy template file
Copy-Item -Path $startMenuTemplate -Destination $startMenuBinFile -Force Copy-Item -Path $startMenuTemplate -Destination $startMenuBinFile -Force
@@ -826,7 +830,8 @@ function PrintFromFile {
function PrintAppsList { function PrintAppsList {
param ( param (
$path $path,
$printCount = $false
) )
if (-not (Test-Path $path)) { if (-not (Test-Path $path)) {
@@ -834,6 +839,11 @@ function PrintAppsList {
} }
$appsList = ReadAppslistFromFile $path $appsList = ReadAppslistFromFile $path
if ($printCount) {
Write-Output "- Remove $($appsList.Count) apps:"
}
Write-Host $appsList -ForegroundColor DarkGray Write-Host $appsList -ForegroundColor DarkGray
} }
@@ -1572,7 +1582,7 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
PrintAppsList "$PSScriptRoot/Appslist.txt" PrintAppsList "$PSScriptRoot/Appslist.txt"
} }
'2' { '2' {
AddParameter 'RemoveAppsCustom' 'Remove $($script:SelectedApps.Count) apps:' $false AddParameter 'RemoveAppsCustom' "Remove $($script:SelectedApps.Count) apps:" $false
PrintAppsList "$PSScriptRoot/CustomAppsList" PrintAppsList "$PSScriptRoot/CustomAppsList"
} }
} }
@@ -1656,11 +1666,16 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
$parameterName = $line.Substring(0, $line.IndexOf('#')) $parameterName = $line.Substring(0, $line.IndexOf('#'))
# Print parameter description and add parameter to Params list # Print parameter description and add parameter to Params list
if ($parameterName -eq "RemoveAppsCustom") { switch ($parameterName) {
PrintAppsList "$PSScriptRoot/CustomAppsList" 'RemoveApps' {
} PrintAppsList "$PSScriptRoot/Appslist.txt" $true
else { }
Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1)) 'RemoveAppsCustom' {
PrintAppsList "$PSScriptRoot/CustomAppsList" $true
}
default {
Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1))
}
} }
if (-not $script:Params.ContainsKey($parameterName)) { if (-not $script:Params.ContainsKey($parameterName)) {