Removing Bloatware from Windows 11
Nicholas Mutsaerts
System Administrator | Microsoft 365 Specialist | IT Support Specialist | Technical Writer | Linux Enthusiast
Even though Windows is the dominant operating system, Microsoft known for its nefarious activities by pre-installing bloatware as a part of the out-of-the-box experience. Bloatware refers to pre-installed software that comes with your Windows 10/11 system. These applications often take up valuable disk space and slow down system performance. Common instances include trial versions of antivirus programs like McAfee and Norton, as well as pre-installed apps, such as Xbox Game Bar, Spotify, and LinkedIn.
As part of a brief series on PowerShell scripting, I will explore several commonly used PowerShell scripts. For further insights, please refer to my previous articles, Using PowerShell for Microsoft and PowerShell Scripting.
Here, we will discuss steps on how to remove bloatware.
How to Identify Bloatware
To determine whether an application is bloatware:
Get-AppxPackage | Select Name, PackageFullName
How to remove apps manually in Windows 11
Removing apps manually in Windows 11 are just a few straight-forward steps. Here are three common methods.
Using the Start Menu
Using Settings (For Microsoft Store Apps)
Using Control Panel
For power users, here is an example of a Command Prompt script menu that uses winget command to remove common pre-installed apps. Save the file at a batch file, such as bloatware.bat. Check out my earlier post on Windows Packet Manager (winget).
@echo off
:menu
echo ====================================
echo Techtips Remove Bloatware Command Menu
echo ====================================
echo [1] Uninstall LinkedIn App
echo [2] Uninstall Spotify App
echo [3] Uninstall Skype App
echo [4] Uninstall Microsoft Bing App
echo [5] Uninstall Mail and Calendar App
echo [6] Uninstall Xbox App
echo [7] Uninstall Microsoft Solitaire Collection App
echo [8] Uninstall Copilot APP
echo [9] Uninstall all of the above
echo [0] Exit
echo ====================================
set /p choice="Enter your choice (0-9): "
if "%choice%"=="1" winget uninstall "LinkedIn"
if "%choice%"=="2" winget uninstall "Spotify"
if "%choice%"=="3" winget uninstall "Skype"
if "%choice%"=="4" winget uninstall "Microsoft Bing"
if "%choice%"=="5" winget uninstall "Mail and Calendar"
if "%choice%"=="6" winget uninstall "Xbox"
if "%choice%"=="7" winget uninstall "Microsoft Solitaire Collection"
if "%choice%"=="8" winget uninstall "Copilot"
if "%choice%"=="9" (
winget uninstall "LinkedIn"
winget uninstall "Spotify"
winget uninstall "Skype"
winget uninstall "Microsoft Bing"
winget uninstall "Mail and Calendar"
winget uninstall "Xbox"
winget uninstall "Microsoft Solitaire Collection"
winget uninstall "Copilot"
)
if "%choice%"=="0" exit
echo.
echo Operation completed. Press any key to return to the menu...
pause >nul
goto menu
The Bloatware.bat file will produce this interactive menu in Command Prompt.
Disclaimer:
Use this script at your own discretion and responsibility. Running scripts comes with inherent risks. We highly recommend consulting your IT team for support before proceeding.
Using a PowerShell Script to remove bloatware
This PowerShell script is designed to streamline Windows 11 by removing common bloatware, disabling telemetry, and enhancing overall system performance by getting rid of unnecessary pre-installed apps. This script removes common bloatware, disables telemetry, and stops Xbox services to optimize Windows 11
# PowerShell Script to Remove Windows 11 Bloatware
# Run as Administrator
# List of Bloatware Apps to Remove
$bloatware = @(
"Microsoft.3DBuilder",
"Microsoft.BingNews",
"Microsoft.BingWeather",
"Microsoft.GetHelp",
"Microsoft.Getstarted",
"Microsoft.Messaging",
"Microsoft.Microsoft3DViewer",
"Microsoft.MicrosoftOfficeHub",
"Microsoft.MicrosoftSolitaireCollection",
"Microsoft.MicrosoftStickyNotes",
"Microsoft.MixedReality.Portal",
"Microsoft.MSPaint",
"Microsoft.OneConnect",
"Microsoft.People",
"Microsoft.Print3D",
"Microsoft.SkypeApp",
"Microsoft.StorePurchaseApp",
"Microsoft.Todos",
"Microsoft.WindowsAlarms",
"Microsoft.WindowsCamera",
"Microsoft.WindowsMaps",
"Microsoft.WindowsSoundRecorder",
"Microsoft.Xbox.TCUI",
"Microsoft.XboxGameOverlay",
"Microsoft.XboxGamingOverlay",
"Microsoft.XboxIdentityProvider",
"Microsoft.XboxSpeechToTextOverlay",
"Microsoft.YourPhone",
"Microsoft.ZuneMusic",
"Microsoft.ZuneVideo"
)
# Function to Remove Bloatware
Function Remove-Bloatware {
param (
[string[]]$apps
)
foreach ($app in $apps) {
Get-AppxPackage -Name $app | Remove-AppxPackage -ErrorAction SilentlyContinue
Get-AppxProvisionedPackage -Online | Where-Object DisplayName -Like "*$app*" | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
Write-Output "Removed $app"
}
}
# Disable Telemetry & Data Collection
Function Disable-Telemetry {
Write-Output "Disabling Telemetry..."
$registryKeys = @(
"HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection",
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection"
)
foreach ($key in $registryKeys) {
if (!(Test-Path $key)) {
New-Item -Path $key -Force | Out-Null
}
Set-ItemProperty -Path $key -Name "AllowTelemetry" -Value 0 -Type DWord
}
Write-Output "Telemetry Disabled."
}
# Disable Xbox Services
Function Disable-XboxServices {
Write-Output "Disabling Xbox Services..."
$services = @(
"XboxGipSvc",
"XblAuthManager",
"XblGameSave",
"XboxNetApiSvc"
)
foreach ($service in $services) {
Stop-Service -Name $service -Force -ErrorAction SilentlyContinue
Set-Service -Name $service -StartupType Disabled
Write-Output "Disabled $service"
}
}
# Run Functions
Remove-Bloatware -apps $bloatware
Disable-Telemetry
Disable-XboxServices
Write-Output "Bloatware removal complete. Restart recommended."
How to use this PowerShell script
Set-ExecutionPolicy Unrestricted -Force
.\Remove-Bloatware.ps1
Disclaimer:
We do not assume responsibility for any potential issues that may arise from using this script. Use it at your own discretion and responsibility. Running scripts involves inherent risks. Please consult your IT team for assistance before proceeding.
Conclusion
Removing bloatware can improve Windows performance and free up storage. Using Winget and/or PowerShell scripts allows for quick removal of unwanted apps. Always double-check before uninstalling anything to avoid removing essential system applications.