165 lines
5.0 KiB
PowerShell
165 lines
5.0 KiB
PowerShell
# Verify bloatware removal - Check what's still installed
|
|
# Run as Administrator (recommended for full results)
|
|
|
|
#Requires -RunAsAdministrator
|
|
|
|
$ErrorActionPreference = 'SilentlyContinue'
|
|
$ProgressPreference = 'SilentlyContinue'
|
|
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "Bloatware Verification Report" -ForegroundColor Cyan
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
# Define what to look for
|
|
$Manufacturers = @{
|
|
"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', 'LenovoLauncher'
|
|
)
|
|
"ASUS" = @(
|
|
'ASUS.*Live.*Update', 'ASUS.*WebStorage', 'ASUS.*Gamer.*OSD', 'ASUS.*Ambient',
|
|
'ASUS.*FX', 'ASUS.*Splendid', 'ASUS.*Smart.*Gesture', 'ASUS.*Turbo'
|
|
)
|
|
"Dell" = @(
|
|
'Dell.*Update', 'DellSystemDetect', 'DellClientManagementService', 'Dell.*Backup',
|
|
'Dell.*Dock', 'Dell.*Display.*Manager', 'Dell.*SupportAssist', 'Dell.*Optimizer'
|
|
)
|
|
}
|
|
|
|
$TotalFound = 0
|
|
|
|
# Check installed applications
|
|
Write-Host "[*] Checking installed applications..." -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
foreach ($Mfg in $Manufacturers.Keys) {
|
|
$MfgFound = 0
|
|
Write-Host " $Mfg:" -ForegroundColor Cyan
|
|
|
|
foreach ($Pattern in $Manufacturers[$Mfg]) {
|
|
try {
|
|
$Apps = Get-WmiObject -Class Win32_Product -Filter "Name LIKE '$Pattern'" -ErrorAction SilentlyContinue
|
|
if ($Apps) {
|
|
foreach ($App in $Apps) {
|
|
Write-Host " [-] $($App.Name)" -ForegroundColor Red
|
|
$MfgFound++
|
|
$TotalFound++
|
|
}
|
|
}
|
|
} catch { }
|
|
}
|
|
|
|
if ($MfgFound -eq 0) {
|
|
Write-Host " [+] No bloatware found" -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host ""
|
|
}
|
|
|
|
# Check AppxPackages
|
|
Write-Host "[*] Checking AppxPackages..." -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
$AppxFound = 0
|
|
foreach ($Mfg in @('HP', 'Lenovo', 'ASUS', 'Dell')) {
|
|
$MfgApps = Get-AppxPackage -Name "*$Mfg*" -AllUsers -ErrorAction SilentlyContinue
|
|
if ($MfgApps) {
|
|
Write-Host " $Mfg:" -ForegroundColor Cyan
|
|
foreach ($App in $MfgApps) {
|
|
Write-Host " [-] $($App.Name)" -ForegroundColor Red
|
|
$AppxFound++
|
|
$TotalFound++
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($AppxFound -eq 0) {
|
|
Write-Host " [+] No AppxPackages found" -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host ""
|
|
|
|
# Check Services
|
|
Write-Host "[*] Checking active services..." -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
$Services = @(
|
|
'hpsysdrv', 'HPDrvMaintSvc', 'LenovoCOMSvc', 'LenovoUpdate', 'ASUSLinkNear',
|
|
'ASUSLinkRemote', 'ASUSWebStorage', 'DellClientManagementService', 'DellSystemDetect'
|
|
)
|
|
|
|
$ActiveServices = 0
|
|
foreach ($Service in $Services) {
|
|
try {
|
|
$Svc = Get-Service -Name $Service -ErrorAction SilentlyContinue
|
|
if ($Svc -and $Svc.Status -eq 'Running') {
|
|
Write-Host " [-] $Service (Running)" -ForegroundColor Red
|
|
$ActiveServices++
|
|
$TotalFound++
|
|
}
|
|
} catch { }
|
|
}
|
|
|
|
if ($ActiveServices -eq 0) {
|
|
Write-Host " [+] No bloatware services running" -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host ""
|
|
|
|
# Check directories
|
|
Write-Host "[*] Checking installation directories..." -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
$Directories = @(
|
|
'C:\Program Files\HP',
|
|
'C:\Program Files (x86)\HP',
|
|
'C:\Program Files\Lenovo',
|
|
'C:\Program Files (x86)\Lenovo',
|
|
'C:\Program Files\ASUS',
|
|
'C:\Program Files (x86)\ASUS',
|
|
'C:\Program Files\Dell',
|
|
'C:\Program Files (x86)\Dell'
|
|
)
|
|
|
|
$DirsFound = 0
|
|
foreach ($Dir in $Directories) {
|
|
if (Test-Path $Dir) {
|
|
Write-Host " [-] $Dir" -ForegroundColor Red
|
|
$DirsFound++
|
|
$TotalFound++
|
|
}
|
|
}
|
|
|
|
if ($DirsFound -eq 0) {
|
|
Write-Host " [+] No bloatware directories found" -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host ""
|
|
|
|
# Summary
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "Summary" -ForegroundColor Cyan
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
|
|
if ($TotalFound -eq 0) {
|
|
Write-Host "[+] CLEAN: No bloatware detected" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "All manufacturer bloatware has been successfully removed."
|
|
} else {
|
|
Write-Host "[-] BLOATWARE DETECTED: $TotalFound items found" -ForegroundColor Red
|
|
Write-Host ""
|
|
Write-Host "Some bloatware remains. Consider:"
|
|
Write-Host " 1. Running Remove-AllBloat.ps1 again"
|
|
Write-Host " 2. Manually uninstalling items from Control Panel"
|
|
Write-Host " 3. Checking if items are protected system files"
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "[*] Verification complete."
|