This one is set up to remove many different bloatware items found on machines from HP, Dell, and Lenovo. A work in progress. Uses both APPX methods and winget.
#Begin Script # Set up to run winget if needed... "Set up to run Winget if needed..." [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # Function to find the path to winget.exe function Find-WinGet-Path { # Get the WinGet path (for use when running in SYSTEM context). $WinGetPathToResolve = Join-Path -Path $ENV:ProgramFiles -ChildPath 'WindowsApps\Microsoft.DesktopAppInstaller_*_*__8wekyb3d8bbwe' $ResolveWinGetPath = Resolve-Path -Path $WinGetPathToResolve | Sort-Object { [version]($_.Path -replace '^[^\d]+_((\d+\.)*\d+)_.*', '$1') } if ($ResolveWinGetPath) { # If we have multiple versions - use the latest. $WinGetPath = $ResolveWinGetPath[-1].Path } # Get the User-Context WinGet exe location. $WinGetExePath = Get-Command -Name winget.exe -CommandType Application -ErrorAction SilentlyContinue # Select the correct WinGet exe if (Test-Path -Path (Join-Path $WinGetPath 'winget.exe')) { # Running in SYSTEM-Context. $WinGet = Join-Path $WinGetPath 'winget.exe' } elseif ($WinGetExePath) { # Get User-Context if SYSTEM-Context not found. $WinGet = $WinGetExePath.Path } else { Write-Output 'WinGet not Found!' Stop-Transcript exit 1 } # Return WinGet path return ($WinGet -replace '\winget.exe','') } Function Add-PathVariable { param ( [string]$addPath ) if (Test-Path $addPath){ $regexAddPath = [regex]::Escape($addPath) $arrPath = $env:Path -split ';' | Where-Object {$_ -notMatch "^$regexAddPath\\?"} $env:Path = ($arrPath + $addPath) -join ';' } else { Throw "'$addPath' is not a valid path." } } Add-PathVariable (Find-Winget-Path) # Do APPX removals... "Do APPX removals..." # First set up item list $RemovalItems = @( "Microsoft.Advertising.Xaml", "Microsoft.BingWeather", "Microsoft.BingFinance", "Microsoft.BingNews", "Microsoft.BingSports", "Microsoft.SkypeApp", "Microsoft.Teams.Classic", "Microsoft.WindowsCommunicationsApps", "Microsoft.XboxGameOverlay", "Microsoft.XboxGamingOverlay", "Microsoft.XboxGameCallableUI", "Microsoft.Xbox.TCUI", "Microsoft.XboxApp", "Microsoft.XboxSpeechToTextOverlay", "Microsoft.XboxIdentityProvider", "Microsoft.YourPhone", "Microsoft.ZuneVideo", "Microsoft.ZuneMusic", "MicrosoftTeams", ".DellDigitalDelivery", ".DellSupportAssistforPCs", ".DellUpdate", ".Power2GoforDell", ".PowerDirectorforDell", ".DellDigitalDelivery", ".DellWatchgdogTimer", ".DelltypeCStatus", ".DiscoverHPTouchpointManager", ".HPDesktopSupportUtilities", ".HPEasyClean", ".HPJumpStart", ".HPPCHardwareDiagnosticsWindows", ".HPPowerManage", ".HPPrivacySettings", ".HPProgrammableKey", ".HPQuickDrop", ".myHP", ".HPSupportAssistant", ".HPSystemInformation", ".HPWorkWell", ".HPAccessoryCenter" ) $ProvisionedItems = Get-AppxProvisionedPackage -Online foreach ($ProvItem in $ProvisionedItems) { foreach ($RemItem in $RemovalItems) { If ($ProvItem.DisplayName -like "*$RemItem*") { Write-Host "Deprovisioning:" $ProvItem.DisplayName $error.clear() try { Remove-AppXProvisionedPackage -Online -PackageName $ProvItem.PackageName -ErrorAction SilentlyContinue | Out-Null } catch { "Failed: Microsoft does not allow, or other error." } if (!$error) { "Succeeded!" } } } } $InstalledItems = Get-AppxPackage -AllUsers foreach ($InstItem in $InstalledItems) { foreach ($RemItem in $RemovalItems) { if ($InstItem.Name -like "*$RemItem*") { Write-Host "User-level removal operation:" $InstItem.Name $error.clear() try { Get-AppxPackage $InstItem.Name -AllUsers | Remove-AppxPackage -Allusers -ErrorAction SilentlyContinue | Out-Null } catch { "Failed: Microsoft does not allow, or other error." } if (!$error) { "Succeeded!" } } } } # And now do winget removals... "And now do winget removals..." # HP bloatware Winget Uninstall "HP Client Security Manager" --accept-source-agreements --silent Winget Uninstall "HP Connection Optimizer" --accept-source-agreements --silent Winget Uninstall "HP Desktop Support Utilities" --accept-source-agreements --silent Winget Uninstall "HP Documentation" --accept-source-agreements --silent Winget Uninstall "HP Easy Clean" --accept-source-agreements --silent Winget Uninstall "HP Insights" --accept-source-agreements --silent Winget Uninstall "HP Insights Analytics" --accept-source-agreements --silent Winget Uninstall "HP JumpStart Bridge" --accept-source-agreements --silent Winget Uninstall "HP JumpStart Launch" --accept-source-agreements --silent Winget Uninstall "HP Notifications" --accept-source-agreements --silent Winget Uninstall "HP One Agent" --accept-source-agreements --silent Winget Uninstall "HP PC Hardware Diagnostics Windows" --accept-source-agreements --silent Winget Uninstall "HP Performance Advisor" --accept-source-agreements --silent Winget Uninstall "HP PhoneWise Driver" --accept-source-agreements --silent Winget Uninstall "HP Privacy Settings" --accept-source-agreements --silent Winget Uninstall "HP Quickdrop" --accept-source-agreements --silent Winget Uninstall "HP Security Update Service" --accept-source-agreements --silent Winget Uninstall "HP Sure Recover" --accept-source-agreements --silent Winget Uninstall "HP Sure Run Module" --accept-source-agreements --silent Winget Uninstall "HP Wolf Security - Console" --accept-source-agreements --silent Winget Uninstall "HP System Default Settings" --accept-source-agreements --silent Winget Uninstall "HP Velocity" --accept-source-agreements --silent Winget Uninstall "HP WorkWise Service" --accept-source-agreements --silent Winget Uninstall "myHP" --accept-source-agreements --silent # Windows Bloatware Winget Uninstall "MSN Weather" --accept-source-agreements --silent Winget Uninstall "Get Help" --accept-source-agreements --silent Winget Uninstall "Microsoft Tips" --accept-source-agreements --silent Winget Uninstall "Microsoft 365 (office)" --accept-source-agreements --silent Winget Uninstall "Solitaire & Casual Games" --accept-source-agreements --silent Winget Uninstall "Mixed Reality Portal" --accept-source-agreements --silent Winget Uninstall "Microsoft People" --accept-source-agreements --silent Winget Uninstall "Store Experience Host" --accept-source-agreements --silent Winget Uninstall "Xbox TCUI" --accept-source-agreements --silent Winget Uninstall "Xbox Console Companion" --accept-source-agreements --silent Winget Uninstall "Xbox Game Bar Plugin" --accept-source-agreements --silent Winget Uninstall "Xbox Game Bar" --accept-source-agreements --silent Winget Uninstall "Xbox Identity Provider" --accept-source-agreements --silent Winget Uninstall "Xbox Game Speech Window" --accept-source-agreements --silent Winget Uninstall "Groove Music" --accept-source-agreements --silent Winget Uninstall "Movies & TV" --accept-source-agreements --silent Winget Uninstall Microsoft.Teams.Classic --accept-source-agreements --silent Winget Uninstall MicrosoftTeams --accept-source-agreements --silent Winget Uninstall "Microsoft Whiteboard" --accept-source-agreements --silent Winget Uninstall "Your Phone" --accept-source-agreements --silent Winget Uninstall "Groove Music" --accept-source-agreements --silent # Additionals Winget Uninstall "Partner Promo" --accept-source-agreements --silent Winget Uninstall "Translator" --accept-source-agreements --silent Winget Uninstall "Microsoft Solitaire Collection" --accept-source-agreements --silent Winget Uninstall "Microsoft People" --accept-source-agreements --silent Winget Uninstall "Skype" --accept-source-agreements --silent Winget Uninstall "Microsoft Pay" --accept-source-agreements --silent Winget Uninstall "Xbox" --accept-source-agreements --silent Winget Uninstall "Microsoft 365 - es-es" --accept-source-agreements --silent Winget Uninstall "Microsoft 365 - fr-fr" --accept-source-agreements --silent Winget Uninstall "Waves MaxxAudio Pro For Dell 2022" --accept-source-agreements --silent Winget Uninstall "Mail and Calendar" --accept-source-agreements --silent Winget Uninstall "Media Suite Essentials for Dell" --accept-source-agreements --silent Winget Uninstall "Power2Go for Dell" --accept-source-agreements --silent Winget Uninstall "PowerDirector for Dell" --accept-source-agreements --silent Winget Uninstall "Power Media Player For Dell" --accept-source-agreements --silent Winget Uninstall "Dell Watchdog Timer" --accept-source-agreements --silent Winget Uninstall "Dell SupportAssist Remediation" --accept-source-agreements --silent Winget Uninstall "Dell SupportAssist OS Recovery Plugin for Dell Update" --accept-source-agreements --silent Winget Uninstall "Dell SupportAssist OS Recovery Plugin" --accept-source-agreements --silent Winget Uninstall "Dell SupportAssist" --accept-source-agreements --silent Winget Uninstall "Dell Command | Update for Windows 10" --accept-source-agreements --silent Winget Uninstall "Dell Digital Delivery Services" --accept-source-agreements --silent # More HP, best last Winget Uninstall "HP Easy Clean" --accept-source-agreements --silent Winget Uninstall "myHP" --accept-source-agreements --silent Winget Uninstall "HP Sure Recover" --accept-source-agreements --silent Winget Uninstall "HP Sure Run Module" --accept-source-agreements --silent Winget Uninstall "HP Performance Advisor" --accept-source-agreements --silent winget Uninstall "HP One Agent" --accept-source-agreements --silent winget Uninstall "HP Security Update Service" --accept-source-agreements --silent winget Uninstall "HP Client Security Manager" --accept-source-agreements --silent # End script