mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2025-11-17 11:06:18 +00:00
Add parameter option to run script with the Saved Custom Settings #176
This commit is contained in:
1
Get.ps1
1
Get.ps1
@@ -4,6 +4,7 @@ param (
|
|||||||
[switch]$Sysprep,
|
[switch]$Sysprep,
|
||||||
[switch]$RunAppConfigurator,
|
[switch]$RunAppConfigurator,
|
||||||
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
||||||
|
[switch]$RunSavedSettings,
|
||||||
[switch]$RemoveApps,
|
[switch]$RemoveApps,
|
||||||
[switch]$RemoveAppsCustom,
|
[switch]$RemoveAppsCustom,
|
||||||
[switch]$RemoveGamingApps,
|
[switch]$RemoveGamingApps,
|
||||||
|
|||||||
13
Menus/Info
13
Menus/Info
@@ -11,23 +11,24 @@ all the settings yourself, or remove apps one by one.
|
|||||||
-------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------
|
||||||
App Removal
|
App Removal
|
||||||
- Remove a wide variety of bloatware apps.
|
- Remove a wide variety of bloatware apps.
|
||||||
- Remove all pinned apps from start for the current user, or for all new & existing users. (Windows 11 only)
|
- Remove all pinned apps from start for the current user, or for all existing & new users. (Windows 11 only)
|
||||||
|
|
||||||
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 the 'Windows Spotlight' desktop background option.
|
||||||
|
|
||||||
Bing, Copilot & More
|
Bing, Copilot & More
|
||||||
- Disable & remove Bing web search & Cortana from Windows search.
|
- Disable & remove Bing web search & Cortana from Windows search.
|
||||||
- Disable Windows Copilot. (Windows 11 only)
|
- Disable & remove Windows Copilot. (Windows 11 only)
|
||||||
- Disable Windows Recall snapshots. (Windows 11 only)
|
- Disable Windows Recall snapshots. (Windows 11 only)
|
||||||
|
|
||||||
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 & drives.
|
||||||
- Show file extensions for known file types.
|
- Show file extensions for known file types.
|
||||||
- Hide the gallery section from the File Explorer sidepanel. (Windows 11 only)
|
- Hide the Home or Gallery section from the File Explorer navigation pane. (Windows 11 only)
|
||||||
- Hide the 3D objects, music or onedrive folder from the File Explorer sidepanel. (Windows 10 only)
|
- Hide the 3D objects, music or OneDrive folder from the File Explorer sidepanel. (Windows 10 only)
|
||||||
- Hide duplicate removable drive entries from the File Explorer sidepanel.
|
- Hide duplicate removable drive entries from the File Explorer sidepanel.
|
||||||
|
|
||||||
Taskbar
|
Taskbar
|
||||||
@@ -42,9 +43,7 @@ Context menu
|
|||||||
- Hide the 'Include in library', 'Give access to' & 'Share' options from the context menu. (Windows 10 only)
|
- Hide the 'Include in library', 'Give access to' & 'Share' options from the context menu. (Windows 10 only)
|
||||||
|
|
||||||
Other
|
Other
|
||||||
- Disable Xbox game/screen recording (Also stops gaming overlay popups)
|
- Disable Xbox game/screen recording. (Also stops gaming overlay popups)
|
||||||
|
|
||||||
Advanced Features
|
|
||||||
- Sysprep mode to apply changes to the Windows Default user profile.
|
- Sysprep mode to apply changes to the Windows Default user profile.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -298,6 +298,7 @@ The quick and advanced usage methods support switch parameters. A table of all t
|
|||||||
| -Silent | Suppresses all interactive prompts, so the script will run without requiring any user input. |
|
| -Silent | Suppresses all interactive prompts, so the script will run without requiring any user input. |
|
||||||
| -Sysprep | Run the script in Sysprep mode. All changes will be applied to the Windows default user profile and will only affect new user accounts. |
|
| -Sysprep | Run the script in Sysprep mode. All changes will be applied to the Windows default user profile and will only affect new user accounts. |
|
||||||
| -RunDefaults | Run the script with the default settings. |
|
| -RunDefaults | Run the script with the default settings. |
|
||||||
|
| -RunSavedSettings | Run the script with the saved custom settings from last time. These settings are saved to and read from the `SavedSettings` file in the root folder of the script. |
|
||||||
| -RemoveApps | Remove the default selection of bloatware apps. |
|
| -RemoveApps | Remove the default selection of bloatware apps. |
|
||||||
| -RemoveAppsCustom | Remove all apps specified in the 'CustomAppsList' file. IMPORTANT: You can generate your custom list by running the script with the `-RunAppConfigurator` parameter. No apps will be removed if this file does not exist! |
|
| -RemoveAppsCustom | Remove all apps specified in the 'CustomAppsList' file. IMPORTANT: You can generate your custom list by running the script with the `-RunAppConfigurator` parameter. No apps will be removed if this file does not exist! |
|
||||||
| -RunAppConfigurator | Run the app configurator to generate a list of apps to remove, the list is saved to the 'CustomAppsList' file. Running the script with the `-RemoveAppsCustom` parameter will remove the selected apps. |
|
| -RunAppConfigurator | Run the app configurator to generate a list of apps to remove, the list is saved to the 'CustomAppsList' file. Running the script with the `-RemoveAppsCustom` parameter will remove the selected apps. |
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ param (
|
|||||||
[switch]$Sysprep,
|
[switch]$Sysprep,
|
||||||
[switch]$RunAppConfigurator,
|
[switch]$RunAppConfigurator,
|
||||||
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
[switch]$RunDefaults, [switch]$RunWin11Defaults,
|
||||||
|
[switch]$RunSavedSettings,
|
||||||
[switch]$RemoveApps,
|
[switch]$RemoveApps,
|
||||||
[switch]$RemoveAppsCustom,
|
[switch]$RemoveAppsCustom,
|
||||||
[switch]$RemoveGamingApps,
|
[switch]$RemoveGamingApps,
|
||||||
@@ -792,15 +793,24 @@ if ($RunAppConfigurator) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AwaitKeyToExit
|
AwaitKeyToExit
|
||||||
|
|
||||||
Exit
|
Exit
|
||||||
}
|
}
|
||||||
|
|
||||||
# Change script execution based on provided parameters or user input
|
# Change script execution based on provided parameters or user input
|
||||||
if ((-not $global:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or ($SPParamCount -eq $global:Params.Count)) {
|
if ((-not $global:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or $RunSavedSettings -or ($SPParamCount -eq $global:Params.Count)) {
|
||||||
if ($RunDefaults -or $RunWin11Defaults) {
|
if ($RunDefaults -or $RunWin11Defaults) {
|
||||||
$Mode = '1'
|
$Mode = '1'
|
||||||
}
|
}
|
||||||
|
elseif ($RunSavedSettings) {
|
||||||
|
if(-not (Test-Path "$PSScriptRoot/SavedSettings")) {
|
||||||
|
PrintHeader 'Custom Mode'
|
||||||
|
Write-Host "Error: No saved settings found, no changes were made" -ForegroundColor Red
|
||||||
|
AwaitKeyToExit
|
||||||
|
Exit
|
||||||
|
}
|
||||||
|
|
||||||
|
$Mode = '4'
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
# Show menu and wait for user input, loops until valid input is provided
|
# Show menu and wait for user input, loops until valid input is provided
|
||||||
Do {
|
Do {
|
||||||
@@ -970,7 +980,7 @@ if ((-not $global:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or ($SPP
|
|||||||
|
|
||||||
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, desktop and lockscreen? (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 'DisableDesktopSpotlight' 'Disable the Windows Spotlight desktop background option.'
|
AddParameter 'DisableDesktopSpotlight' 'Disable the Windows Spotlight desktop background option.'
|
||||||
AddParameter 'DisableLockscreenTips' 'Disable tips & tricks on the lockscreen'
|
AddParameter 'DisableLockscreenTips' 'Disable tips & tricks on the lockscreen'
|
||||||
@@ -1223,40 +1233,40 @@ if ((-not $global:Params.Count) -or $RunDefaults -or $RunWin11Defaults -or ($SPP
|
|||||||
|
|
||||||
# Load custom options selection from the "SavedSettings" file
|
# Load custom options selection from the "SavedSettings" file
|
||||||
'4' {
|
'4' {
|
||||||
if (-not $Silent) {
|
PrintHeader 'Custom Mode'
|
||||||
PrintHeader 'Custom Mode'
|
Write-Output "Win11Debloat will make the following changes:"
|
||||||
Write-Output "Win11Debloat will make the following changes:"
|
|
||||||
|
|
||||||
# Get & print default settings info from file
|
# Get & print default settings info from file
|
||||||
Foreach ($line in (Get-Content -Path "$PSScriptRoot/SavedSettings" )) {
|
Foreach ($line in (Get-Content -Path "$PSScriptRoot/SavedSettings" )) {
|
||||||
# Remove any spaces before and after the line
|
# Remove any spaces before and after the line
|
||||||
$line = $line.Trim()
|
$line = $line.Trim()
|
||||||
|
|
||||||
# Check if the line contains a comment
|
# Check if the line contains a comment
|
||||||
if (-not ($line.IndexOf('#') -eq -1)) {
|
if (-not ($line.IndexOf('#') -eq -1)) {
|
||||||
$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") {
|
if ($parameterName -eq "RemoveAppsCustom") {
|
||||||
if (-not (Test-Path "$PSScriptRoot/CustomAppsList")) {
|
if (-not (Test-Path "$PSScriptRoot/CustomAppsList")) {
|
||||||
# Apps file does not exist, skip
|
# Apps file does not exist, skip
|
||||||
continue
|
continue
|
||||||
}
|
|
||||||
|
|
||||||
$appsList = ReadAppslistFromFile "$PSScriptRoot/CustomAppsList"
|
|
||||||
Write-Output "- Remove $($appsList.Count) apps:"
|
|
||||||
Write-Host $appsList -ForegroundColor DarkGray
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$appsList = ReadAppslistFromFile "$PSScriptRoot/CustomAppsList"
|
||||||
|
Write-Output "- Remove $($appsList.Count) apps:"
|
||||||
|
Write-Host $appsList -ForegroundColor DarkGray
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Output $line.Substring(($line.IndexOf('#') + 1), ($line.Length - $line.IndexOf('#') - 1))
|
||||||
|
}
|
||||||
|
|
||||||
if (-not $global:Params.ContainsKey($parameterName)){
|
if (-not $global:Params.ContainsKey($parameterName)){
|
||||||
$global:Params.Add($parameterName, $true)
|
$global:Params.Add($parameterName, $true)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not $Silent) {
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
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..."
|
||||||
|
|||||||
Reference in New Issue
Block a user