# Remove all manufacturer bloatware in one script - Silent mode with error suppression # Run as Administrator #Requires -RunAsAdministrator $ErrorActionPreference = 'SilentlyContinue' $ProgressPreference = 'SilentlyContinue' # All bloatware patterns for HP, Lenovo, ASUS, Dell $BloatwarePatterns = @( # HP 'HP.*Support.*Assistant', 'HP.*Alerts', 'HPControlledShutdown', 'HP.*Cloud.*Recover', 'HP.*Client.*Services', 'HP.*Quickdrop', 'HP.*Photo.*Creations', 'HP.*Security.*Update', 'HPIASystemAgent', 'HP.*Wireless.*Assistant', 'HP.*Print.*Library', # Lenovo 'Lenovo.*Settings', 'Lenovo.*Vantage', 'Lenovo.*Companion', 'Lenovo.*PowerManagement', 'Lenovo.*SystemUpdate', 'Lenovo.*UltraCharger', 'Lenovo.*Battery', 'Lenovo.*Nerve', 'Lenovo.*FusionEngine', 'LenovoLauncher', 'LenovoEasyCamera', # ASUS 'ASUS.*Live.*Update', 'ASUS.*WebStorage', 'ASUS.*Gamer.*OSD', 'ASUS.*Ambient', 'ASUS.*FX', 'ASUS.*Splendid', 'ASUS.*Smart.*Gesture', 'ASUS.*Safe.*Face', 'ASUS.*Keyboard', 'ASUS.*Touchpad', 'ASUS.*Turbo', 'ASUS.*GameVisual', # Dell 'Dell.*Update', 'DellSystemDetect', 'DellClientManagementService', 'Dell.*Backup', 'Dell.*Dock', 'Dell.*Display.*Manager', 'Dell.*Easy.*Access', 'Dell.*Foundation.*Services', 'Dell.*SupportAssist', 'Dell.*Optimizer' ) # Manufacturer-specific services to disable $BloatServices = @( # HP 'hpsysdrv', 'HPDrvMaintSvc', # Lenovo 'LenovoCOMSvc', 'LenovoUpdate', 'LenovoWifiDisplayService', 'lolmsvc', 'LenovoEasyPlus', # ASUS 'ASUSLinkNear', 'ASUSLinkRemote', 'ASUSWebStorage', 'ASUSGiftBox', 'ArmouryCrate', 'asComSvc', # Dell 'DellClientManagementService', 'DellSystemDetect', 'DSAService', 'DellDataTransport', 'DellSSDMonitor' ) # Uninstall via WMI Write-Host "[*] Removing via WMI..." -ForegroundColor Cyan foreach ($pattern in $BloatwarePatterns) { try { $apps = Get-WmiObject -Class Win32_Product -Filter "Name LIKE '$pattern'" -ErrorAction SilentlyContinue foreach ($app in $apps) { $app.Uninstall() | Out-Null } } catch { } } # Remove AppxPackages Write-Host "[*] Removing AppxPackages..." -ForegroundColor Cyan $Manufacturers = @('*HP*', '*Lenovo*', '*ASUS*', '*Dell*') foreach ($mfg in $Manufacturers) { try { Get-AppxPackage -Name $mfg -AllUsers -ErrorAction SilentlyContinue | Remove-AppxPackage -AllUsers } catch { } } # Disable and stop services Write-Host "[*] Disabling services..." -ForegroundColor Cyan foreach ($service in $BloatServices) { try { $svc = Get-Service -Name $service -ErrorAction SilentlyContinue if ($svc) { Stop-Service -Name $service -Force Set-Service -Name $service -StartupType Disabled } } catch { } } # Remove scheduled tasks Write-Host "[*] Removing scheduled tasks..." -ForegroundColor Cyan foreach ($mfg in @('HP', 'Lenovo', 'ASUS', 'Dell')) { try { Get-ScheduledTask -TaskPath "*$mfg*" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false } catch { } } # Clean registry Write-Host "[*] Cleaning registry..." -ForegroundColor Cyan $RegPaths = @( 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*HP*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*Lenovo*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*ASUS*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*Dell*', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*HP*', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Lenovo*', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*ASUS*', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Dell*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*HP*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Lenovo*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*ASUS*', 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Dell*' ) foreach ($path in $RegPaths) { try { Remove-Item -Path $path -Force -Recurse } catch { } } # Remove installation directories Write-Host "[*] Removing installation directories..." -ForegroundColor Cyan $Directories = @( 'C:\Program Files\HP', 'C:\Program Files (x86)\HP', 'C:\Program Files\Hewlett-Packard', 'C:\Program Files (x86)\Hewlett-Packard', 'C:\Program Files\Lenovo', 'C:\Program Files (x86)\Lenovo', 'C:\ProgramData\Lenovo', 'C:\Program Files\ASUS', 'C:\Program Files (x86)\ASUS', 'C:\ProgramData\ASUS', 'C:\Program Files\Dell', 'C:\Program Files (x86)\Dell', 'C:\ProgramData\Dell', 'C:\ProgramData\SupportAssist' ) foreach ($dir in $Directories) { try { if (Test-Path $dir) { Remove-Item -Path $dir -Recurse -Force } } catch { } } Write-Host "[+] All bloatware removal complete." -ForegroundColor Green