9 Commits

Author SHA1 Message Date
Raphire
c52338648d Update Get.ps1 to new release 2025-09-27 14:41:45 +02:00
Raphire
d8e86a43f5 Merge branch 'master' of https://github.com/Raphire/Win11Debloat 2025-09-27 14:36:38 +02:00
Raphire
cf982af87c Change order of Default Mode parameters 2025-09-27 14:36:37 +02:00
Andrea Boero
a368b4a8ba Added an option to choose combine mode for Taskbar buttons (#329) 2025-09-27 14:34:01 +02:00
Raphire
7c9e25d891 Default Mode Improvements
- Added Click to Do to default
- Default mode now shows a list of apps that are slated to be removed
- Default mode changes summary now only shows the changes it will actually apply
2025-09-27 14:19:41 +02:00
Raphire
58d47c77cc Remove prompts after system restore creation errors 2025-09-22 21:41:24 +02:00
Raphire
7004fa3b31 Add option to disable Click to Do (AI image/text analysis feature) 2025-09-17 23:33:52 +02:00
tylerhekman
899edfc9c6 Removed escaped double quotes that caused incorrect parsing for paths with spaces (#322) 2025-09-14 12:18:58 +02:00
Raphire
f9f7ba828c Update README.md 2025-09-14 00:02:29 +02:00
13 changed files with 161 additions and 95 deletions

View File

@@ -21,7 +21,7 @@ Microsoft.MicrosoftJournal # Digital note-taking app optimiz
Microsoft.MicrosoftOfficeHub # Hub to access Microsoft Office apps and documents (Precursor to Microsoft 365 app) Microsoft.MicrosoftOfficeHub # Hub to access Microsoft Office apps and documents (Precursor to Microsoft 365 app)
Microsoft.MicrosoftPowerBIForWindows # Business analytics service client Microsoft.MicrosoftPowerBIForWindows # Business analytics service client
Microsoft.MicrosoftSolitaireCollection # Collection of solitaire card games Microsoft.MicrosoftSolitaireCollection # Collection of solitaire card games
Microsoft.MicrosoftStickyNotes # Digital sticky notes app Microsoft.MicrosoftStickyNotes # Digital sticky notes app (Deprecated & replaced by OneNote)
Microsoft.MixedReality.Portal # Portal for Windows Mixed Reality headsets Microsoft.MixedReality.Portal # Portal for Windows Mixed Reality headsets
Microsoft.NetworkSpeedTest # Internet connection speed test utility Microsoft.NetworkSpeedTest # Internet connection speed test utility
Microsoft.News # News aggregator (Replaced Bing News, now part of Microsoft Start) Microsoft.News # News aggregator (Replaced Bing News, now part of Microsoft Start)

View File

@@ -1,15 +1,11 @@
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads. - Disable & remove Microsoft Copilot
- Disable tips, tricks, suggestions and ads in start, settings, notifications and more. - Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads
- Disable ads, suggestions and the MSN news feed in Microsoft Edge. - Disable tips, tricks, suggestions and ads in start, settings, notifications and File Explorer
- Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper) - Disable ads, suggestions and the MSN news feed in Microsoft Edge
- Disable & remove Bing web search, Bing AI and Cortana from Windows search. - Disable tips & tricks on the lockscreen (This may change your lockscreen wallpaper)
- Disable & remove Microsoft Copilot. - Disable & remove Bing web search, Bing AI and Cortana from Windows search
- Disable Windows Recall snapshots. (W11 only) - Show file extensions for known file types
- Disable Fast Start-up to ensure a full shutdown. - Disable widgets on the taskbar & lockscreen
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only) - Disable Fast Start-up
- Show file extensions for known file types.
- Hide the 3D objects folder in Windows Explorer. (W10 only)
- Disable widgets on the taskbar & lockscreen.
- Hide the Chat (meet now) icon from the taskbar.

View File

@@ -18,9 +18,11 @@ Telemetry, Tracking & Suggested Content
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. - Disable & remove Microsoft Copilot.
- Disable Windows Recall snapshots. (W11 only) - Disable Windows Recall. (W11 only)
- Disable AI Features in Paint (W11 only) - Disable Click to Do, AI text & image analysis tool. (W11 only)
- Disable AI Features in Notepad (W11 only) - Disable AI Features in Edge. (W11 only)
- Disable AI Features in Paint. (W11 only)
- Disable AI Features in Notepad. (W11 only)
Personalisation Personalisation
- Enable dark mode for system and apps. - Enable dark mode for system and apps.
@@ -40,10 +42,11 @@ File Explorer
Taskbar Taskbar
- Align taskbar icons to the left. (W11 only) - Align taskbar icons to the left. (W11 only)
- Choose combine mode for taskbar buttons and labels. (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 widgets on the taskbar & lockscreen. - Disable widgets on the taskbar & lockscreen.
- Hide the chat (meet now) icon from the taskbar. - Hide the chat (meet now) icon from the taskbar. (W10 only)
- 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.
@@ -69,12 +72,13 @@ The default mode applies the changes that are recommended for most users. This i
- 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. - Disable & remove Microsoft Copilot.
- Disable Windows Recall snapshots. (W11 only) - Disable Windows Recall. (W11 only)
- Disable Click to Do, AI text & image analysis tool. (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) - 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 widgets on the taskbar & lockscreen. - Disable widgets on the taskbar & lockscreen.
- Hide the Chat (meet now) icon from the taskbar. - Hide the Chat (meet now) icon from the taskbar. (W10 only)

View File

@@ -35,12 +35,14 @@ param (
[switch]$DisableTransparency, [switch]$DisableTransparency,
[switch]$DisableAnimations, [switch]$DisableAnimations,
[switch]$TaskbarAlignLeft, [switch]$TaskbarAlignLeft,
[switch]$CombineTaskbarAlways, [switch]$CombineTaskbarWhenFull, [switch]$CombineTaskbarNever,
[switch]$HideSearchTb, [switch]$ShowSearchIconTb, [switch]$ShowSearchLabelTb, [switch]$ShowSearchBoxTb, [switch]$HideSearchTb, [switch]$ShowSearchIconTb, [switch]$ShowSearchLabelTb, [switch]$ShowSearchBoxTb,
[switch]$HideTaskview, [switch]$HideTaskview,
[switch]$DisableStartRecommended, [switch]$DisableStartRecommended,
[switch]$DisableStartPhoneLink, [switch]$DisableStartPhoneLink,
[switch]$DisableCopilot, [switch]$DisableCopilot,
[switch]$DisableRecall, [switch]$DisableRecall,
[switch]$DisableClickToDo,
[switch]$DisablePaintAI, [switch]$DisablePaintAI,
[switch]$DisableNotepadAI, [switch]$DisableNotepadAI,
[switch]$DisableEdgeAI, [switch]$DisableEdgeAI,
@@ -86,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.13 -OutFile "$env:TEMP/win11debloat.zip" Invoke-RestMethod https://api.github.com/repos/Raphire/Win11Debloat/zipball/2025.09.27 -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

@@ -109,10 +109,11 @@ Below is an overview of the key features and functionality offered by Win11Deblo
- 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 snapshots. (W11 only) - Disable Windows Recall. (W11 only)
- Disable AI Features in Edge (W11 only) - Disable Click to Do, AI text & image analysis tool. (W11 only)
- Disable AI Features in Paint (W11 only) - Disable AI Features in Edge. (W11 only)
- Disable AI Features in Notepad (W11 only) - Disable AI Features in Paint. (W11 only)
- Disable AI Features in Notepad. (W11 only)
#### Personalisation #### Personalisation
@@ -135,10 +136,11 @@ Below is an overview of the key features and functionality offered by Win11Deblo
#### Taskbar #### Taskbar
- Align taskbar icons to the left. (W11 only) - Align taskbar icons to the left. (W11 only)
- Choose combine mode for taskbar buttons and labels. (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 widgets on the taskbar & lockscreen. - Disable widgets on the taskbar & lockscreen.
- Hide the chat (meet now) icon from the taskbar. - Hide the chat (meet now) icon from the taskbar. (W10 only)
- 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.
@@ -159,9 +161,7 @@ Below is an overview of the key features and functionality offered by Win11Deblo
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. 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. 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:
Example:
```Powershell ```Powershell
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults & ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults
``` ```
@@ -173,17 +173,18 @@ Example:
- 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.
- Disable Windows Recall snapshots. (W11 only) - Disable Windows Recall. (W11 only)
- Disable Click to Do, AI text & image analysis tool. (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) - 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 widgets on the taskbar & lockscreen. - Disable widgets on the taskbar & lockscreen.
- Hide the Chat (meet now) icon from the taskbar. - Hide the Chat (meet now) icon from the taskbar. (W10 only)
#### Apps that ARE removed as part of the default mode #### Apps that ARE removed by default
These apps are uninstalled when you opt to remove the default selection of apps. This includes apps from both Microsoft and third parties. These apps are uninstalled when you opt to remove the default selection of apps.
<details> <details>
<summary>Click to expand</summary> <summary>Click to expand</summary>
@@ -287,9 +288,9 @@ These apps are uninstalled when you opt to remove the default selection of apps.
</blockquote> </blockquote>
</details> </details>
#### Apps that are NOT removed as part of the default mode #### Apps that are NOT removed by default
These apps are not removed by default. They will only be removed if you manually select them. These apps will not be removed by Win11Debloat unless explicitly selected by the user.
<details> <details>
<summary>Click to expand</summary> <summary>Click to expand</summary>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=dword:00000001

View File

@@ -0,0 +1,7 @@
Windows Registry Editor Version 5.00
[hkey_users\default\Software\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=dword:00000001

View File

@@ -0,0 +1,7 @@
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsAI]
"DisableClickToDo"=-

View File

@@ -5,10 +5,10 @@ set "wtScoopPath=%USERPROFILE%\scoop\apps\windows-terminal\current\wt.exe"
:: Launch the script in Windows Terminal if installed, otherwise use default PowerShell. :: Launch the script in Windows Terminal if installed, otherwise use default PowerShell.
if exist "%wtDefaultPath%" ( if exist "%wtDefaultPath%" (
PowerShell -Command "Start-Process -FilePath '%wtDefaultPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File \"\"%~dp0Win11Debloat.ps1\"\"' -Verb RunAs" PowerShell -Command "Start-Process -FilePath '%wtDefaultPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs"
) else if exist "%wtScoopPath%" ( ) else if exist "%wtScoopPath%" (
PowerShell -Command "Start-Process -FilePath '%wtScoopPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File \"\"%~dp0Win11Debloat.ps1\"\"' -Verb RunAs" PowerShell -Command "Start-Process -FilePath '%wtScoopPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs"
) else ( ) else (
echo Windows Terminal not found, using default PowerShell... echo Windows Terminal not found, using default PowerShell...
PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File \"\"%~dp0Win11Debloat.ps1\"\"' -Verb RunAs}" PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs}"
) )

View File

@@ -37,12 +37,14 @@ param (
[switch]$DisableTransparency, [switch]$DisableTransparency,
[switch]$DisableAnimations, [switch]$DisableAnimations,
[switch]$TaskbarAlignLeft, [switch]$TaskbarAlignLeft,
[switch]$CombineTaskbarAlways, [switch]$CombineTaskbarWhenFull, [switch]$CombineTaskbarNever,
[switch]$HideSearchTb, [switch]$ShowSearchIconTb, [switch]$ShowSearchLabelTb, [switch]$ShowSearchBoxTb, [switch]$HideSearchTb, [switch]$ShowSearchIconTb, [switch]$ShowSearchLabelTb, [switch]$ShowSearchBoxTb,
[switch]$HideTaskview, [switch]$HideTaskview,
[switch]$DisableStartRecommended, [switch]$DisableStartRecommended,
[switch]$DisableStartPhoneLink, [switch]$DisableStartPhoneLink,
[switch]$DisableCopilot, [switch]$DisableCopilot,
[switch]$DisableRecall, [switch]$DisableRecall,
[switch]$DisableClickToDo,
[switch]$DisablePaintAI, [switch]$DisablePaintAI,
[switch]$DisableNotepadAI, [switch]$DisableNotepadAI,
[switch]$DisableEdgeAI, [switch]$DisableEdgeAI,
@@ -751,7 +753,8 @@ function ReplaceStartMenu {
function AddParameter { function AddParameter {
param ( param (
$parameterName, $parameterName,
$message $message,
$addToFile = $true
) )
# Add key if it doesn't already exist # Add key if it doesn't already exist
@@ -759,6 +762,11 @@ function AddParameter {
$script:Params.Add($parameterName, $true) $script:Params.Add($parameterName, $true)
} }
if (-not $addToFile) {
Write-Output "- $message"
return
}
# Create or clear file that stores last used settings # Create or clear file that stores last used settings
if (-not (Test-Path "$PSScriptRoot/SavedSettings")) { if (-not (Test-Path "$PSScriptRoot/SavedSettings")) {
$null = New-Item "$PSScriptRoot/SavedSettings" $null = New-Item "$PSScriptRoot/SavedSettings"
@@ -816,6 +824,20 @@ function PrintFromFile {
} }
function PrintAppsList {
param (
$path
)
if (-not (Test-Path $path)) {
return
}
$appsList = ReadAppslistFromFile $path
Write-Host $appsList -ForegroundColor DarkGray
}
function AwaitKeyToExit { function AwaitKeyToExit {
# Suppress prompt if Silent parameter was passed # Suppress prompt if Silent parameter was passed
if (-not $Silent) { if (-not $Silent) {
@@ -850,7 +872,6 @@ function CreateSystemRestorePoint {
Enable-ComputerRestore -Drive "$env:SystemDrive" Enable-ComputerRestore -Drive "$env:SystemDrive"
} catch { } catch {
Write-Host "Error: Failed to enable System Restore: $_" -ForegroundColor Red Write-Host "Error: Failed to enable System Restore: $_" -ForegroundColor Red
Write-Output ""
return return
} }
} }
@@ -859,9 +880,6 @@ function CreateSystemRestorePoint {
if (-not $enableSystemRestoreJobDone) { if (-not $enableSystemRestoreJobDone) {
Write-Host "Error: Failed to enable system restore and create restore point, operation timed out" -ForegroundColor Red Write-Host "Error: Failed to enable system restore and create restore point, operation timed out" -ForegroundColor Red
Write-Output ""
Write-Output "Press any key to continue anyway..."
$null = [System.Console]::ReadKey()
return return
} else { } else {
Receive-Job $enableSystemRestoreJob Receive-Job $enableSystemRestoreJob
@@ -878,7 +896,6 @@ function CreateSystemRestorePoint {
$recentRestorePoints = Get-ComputerRestorePoint | Where-Object { (Get-Date) - [System.Management.ManagementDateTimeConverter]::ToDateTime($_.CreationTime) -le (New-TimeSpan -Hours 24) } $recentRestorePoints = Get-ComputerRestorePoint | Where-Object { (Get-Date) - [System.Management.ManagementDateTimeConverter]::ToDateTime($_.CreationTime) -le (New-TimeSpan -Hours 24) }
} catch { } catch {
Write-Host "Error: Unable to retrieve existing restore points: $_" -ForegroundColor Red Write-Host "Error: Unable to retrieve existing restore points: $_" -ForegroundColor Red
Write-Output ""
return return
} }
@@ -898,9 +915,6 @@ function CreateSystemRestorePoint {
if (-not $createRestorePointJobDone) { if (-not $createRestorePointJobDone) {
Write-Host "Error: Failed to create system restore point, operation timed out" -ForegroundColor Red 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 {
Receive-Job $createRestorePointJob Receive-Job $createRestorePointJob
} }
@@ -921,8 +935,8 @@ function DisplayCustomModeOptions {
Do { Do {
Write-Host "Options:" -ForegroundColor Yellow Write-Host "Options:" -ForegroundColor Yellow
Write-Host " (n) Don't remove any apps" -ForegroundColor Yellow Write-Host " (n) Don't remove any apps" -ForegroundColor Yellow
Write-Host " (1) Only remove the default selection of bloatware apps from 'Appslist.txt'" -ForegroundColor Yellow Write-Host " (1) Only remove the default selection of apps" -ForegroundColor Yellow
Write-Host " (2) Remove default selection of bloatware apps, as well as mail & calendar apps, developer apps and gaming apps" -ForegroundColor Yellow Write-Host " (2) Remove the default selection of apps, as well as mail & calendar apps, developer apps and gaming apps" -ForegroundColor Yellow
Write-Host " (3) Manually select which apps to remove" -ForegroundColor Yellow Write-Host " (3) 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/3)" $RemoveAppsInput = Read-Host "Do you want to remove any apps? Apps will be removed for all users (n/1/2/3)"
@@ -946,10 +960,10 @@ function DisplayCustomModeOptions {
# Select correct option based on user input # Select correct option based on user input
switch ($RemoveAppsInput) { switch ($RemoveAppsInput) {
'1' { '1' {
AddParameter 'RemoveApps' 'Remove default selection of bloatware apps' AddParameter 'RemoveApps' 'Remove the default selection of apps'
} }
'2' { '2' {
AddParameter 'RemoveApps' 'Remove default selection of bloatware apps' AddParameter 'RemoveApps' 'Remove the default selection of apps'
AddParameter 'RemoveCommApps' 'Remove the Mail, Calendar, and People apps' AddParameter 'RemoveCommApps' 'Remove the Mail, Calendar, and People apps'
AddParameter 'RemoveW11Outlook' 'Remove the new Outlook for Windows app' AddParameter 'RemoveW11Outlook' 'Remove the new Outlook for Windows app'
AddParameter 'RemoveDevApps' 'Remove developer-related apps' AddParameter 'RemoveDevApps' 'Remove developer-related apps'
@@ -998,8 +1012,8 @@ function DisplayCustomModeOptions {
Do { Do {
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, Windows Recall and Click to Do" -ForegroundColor Yellow
Write-Host " (2) Disable Microsoft Copilot, Windows Recall snapshots and AI features in Microsoft Edge, Paint and Notepad" -ForegroundColor Yellow Write-Host " (2) Disable Microsoft Copilot, Windows Recall, Click to Do 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')
@@ -1008,11 +1022,13 @@ function DisplayCustomModeOptions {
switch ($DisableAIInput) { switch ($DisableAIInput) {
'1' { '1' {
AddParameter 'DisableCopilot' 'Disable & remove Microsoft Copilot' AddParameter 'DisableCopilot' 'Disable & remove Microsoft Copilot'
AddParameter 'DisableRecall' 'Disable Windows Recall snapshots' AddParameter 'DisableRecall' 'Disable Windows Recall'
AddParameter 'DisableClickToDo' 'Disable Click to Do (AI text & image analysis)'
} }
'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'
AddParameter 'DisableClickToDo' 'Disable Click to Do (AI text & image analysis)'
AddParameter 'DisableEdgeAI' 'Disable AI features in Edge' 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'
@@ -1161,6 +1177,31 @@ function DisplayCustomModeOptions {
AddParameter 'TaskbarAlignLeft' 'Align taskbar icons to the left' AddParameter 'TaskbarAlignLeft' 'Align taskbar icons to the left'
} }
# Show options for combine icon on taskbar, only continue on valid input
Do {
Write-Output ""
Write-Host " Options:" -ForegroundColor Yellow
Write-Host " (n) No change" -ForegroundColor Yellow
Write-Host " (1) Always" -ForegroundColor Yellow
Write-Host " (2) When taskbar is full" -ForegroundColor Yellow
Write-Host " (3) Never" -ForegroundColor Yellow
$TbCombineTaskbar = Read-Host " Combine taskbar buttons and hide labels? (n/1/2/3)"
}
while ($TbCombineTaskbar -ne 'n' -and $TbCombineTaskbar -ne '0' -and $TbCombineTaskbar -ne '1' -and $TbCombineTaskbar -ne '2' -and $TbCombineTaskbar -ne '3')
# Select correct taskbar goup option based on user input
switch ($TbCombineTaskbar) {
'1' {
AddParameter 'CombineTaskbarAlways' 'Always combine taskbar buttons and hide labels'
}
'2' {
AddParameter 'CombineTaskbarWhenFull' 'Combine taskbar buttons and hide labels when taskbar is full'
}
'3' {
AddParameter 'CombineTaskbarNever' 'Never combine taskbar buttons and show labels'
}
}
# Show options for search icon on taskbar, only continue on valid input # Show options for search icon on taskbar, only continue on valid input
Do { Do {
Write-Output "" Write-Output ""
@@ -1483,9 +1524,7 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
switch ($Mode) { switch ($Mode) {
# Default mode, loads defaults after confirmation # Default mode, loads defaults after confirmation
'1' { '1' {
if (-not $script:Params.ContainsKey('CreateRestorePoint')) { AddParameter 'CreateRestorePoint' 'Create a system restore point' $false
$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) {
@@ -1496,7 +1535,7 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
Do { Do {
Write-Host "Options:" -ForegroundColor Yellow Write-Host "Options:" -ForegroundColor Yellow
Write-Host " (n) Don't remove any apps" -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 " (1) Only remove the default selection of apps" -ForegroundColor Yellow
Write-Host " (2) Manually select which apps to remove" -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)" $RemoveAppsInput = Read-Host "Do you want to remove any apps? Apps will be removed for all users (n/1/2)"
@@ -1529,28 +1568,38 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
# Select correct option based on user input # Select correct option based on user input
switch ($RemoveAppsInput) { switch ($RemoveAppsInput) {
'1' { '1' {
if (-not $script:Params.ContainsKey('RemoveApps')) { AddParameter 'RemoveApps' 'Remove the default selection of apps:' $false
$script:Params.Add('RemoveApps', $true) PrintAppsList "$PSScriptRoot/Appslist.txt"
}
Write-Output "- Remove the default selection of apps."
} }
'2' { '2' {
if (-not $script:Params.ContainsKey('RemoveAppsCustom')) { AddParameter 'RemoveAppsCustom' 'Remove $($script:SelectedApps.Count) apps:' $false
$script:Params.Add('RemoveAppsCustom', $true) PrintAppsList "$PSScriptRoot/CustomAppsList"
}
Write-Output "- Remove your custom selection of $($script:SelectedApps.Count) apps."
} }
} }
# Only add this option for Windows 10 users
if (get-ciminstance -query "select caption from win32_operatingsystem where caption like '%Windows 10%'") {
AddParameter 'Hide3dObjects' "Hide the 3D objects folder under 'This pc' in File Explorer" $false
AddParameter 'HideChat' 'Hide the chat (meet now) icon from the taskbar' $false
}
# Only add these options for Windows 11 users (build 22000+)
if ($WinVersion -ge 22000) {
if ($script:ModernStandbySupported) {
AddParameter 'DisableModernStandbyNetworking' 'Disable network connectivity during Modern Standby' $false
}
AddParameter 'DisableRecall' 'Disable Windows Recall' $false
AddParameter 'DisableClickToDo' 'Disable Click to Do (AI text & image analysis)' $false
}
PrintFromFile "$PSScriptRoot/Assets/Menus/DefaultSettings" "Default Mode" $false 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 = 'DisableTelemetry','DisableBing','DisableLockscreenTips','DisableSuggestions','DisableEdgeAds','ShowKnownFileExt','DisableWidgets','HideChat','DisableFastStartup','DisableCopilot' $DefaultParameterNames = 'DisableCopilot','DisableTelemetry','DisableSuggestions','DisableEdgeAds','DisableLockscreenTips','DisableBing','ShowKnownFileExt','DisableWidgets','DisableFastStartup'
PrintHeader 'Default Mode' PrintHeader 'Default Mode'
@@ -1560,22 +1609,6 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
$script:Params.Add($ParameterName, $true) $script:Params.Add($ParameterName, $true)
} }
} }
# Only add this option for Windows 10 users, if it doesn't already exist
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)
}
# 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
@@ -1624,14 +1657,7 @@ if ((-not $script:Params.Count) -or $RunDefaults -or $RunDefaultsLite -or $RunSa
# Print parameter description and add parameter to Params list # Print parameter description and add parameter to Params list
if ($parameterName -eq "RemoveAppsCustom") { if ($parameterName -eq "RemoveAppsCustom") {
if (-not (Test-Path "$PSScriptRoot/CustomAppsList")) { PrintAppsList "$PSScriptRoot/CustomAppsList"
# Apps file does not exist, skip
continue
}
$appsList = ReadAppslistFromFile "$PSScriptRoot/CustomAppsList"
Write-Output "- Remove $($appsList.Count) apps:"
Write-Host $appsList -ForegroundColor DarkGray
} }
else { else {
Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1)) Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1))
@@ -1773,7 +1799,11 @@ switch ($script:Params.Keys) {
continue continue
} }
'DisableRecall' { 'DisableRecall' {
RegImport "> Disabling Windows Recall snapshots..." "Disable_AI_Recall.reg" RegImport "> Disabling Windows Recall..." "Disable_AI_Recall.reg"
continue
}
'DisableClickToDo' {
RegImport "> Disabling Click to Do..." "Disable_Click_to_Do.reg"
continue continue
} }
'DisableEdgeAI' { 'DisableEdgeAI' {
@@ -1852,6 +1882,18 @@ switch ($script:Params.Keys) {
RegImport "> Aligning taskbar buttons to the left..." "Align_Taskbar_Left.reg" RegImport "> Aligning taskbar buttons to the left..." "Align_Taskbar_Left.reg"
continue continue
} }
'CombineTaskbarAlways' {
RegImport "> Setting the taskbar to always combine buttons and hide labels..." "Combine_Taskbar_Never.reg"
continue
}
'CombineTaskbarWhenFull' {
RegImport "> Setting the taskbar to only combine buttons and hide labels when the taskbar is full..." "Combine_Taskbar_When_Full.reg"
continue
}
'CombineTaskbarNever' {
RegImport "> Setting the taskbar to never combine buttons or hide labels..." "Combine_Taskbar_Never.reg"
continue
}
'HideSearchTb' { 'HideSearchTb' {
RegImport "> Hiding the search icon from the taskbar..." "Hide_Search_Taskbar.reg" RegImport "> Hiding the search icon from the taskbar..." "Hide_Search_Taskbar.reg"
continue continue