Upload files to "/"
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# Remove Lenovo Bloatware - Silent mode with error suppression
|
||||
# Run as Administrator
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
# Lenovo Bloatware packages to remove
|
||||
$LenovoApps = @(
|
||||
'Lenovo.*Settings',
|
||||
'Lenovo.*Vantage',
|
||||
'Lenovo.*Companion',
|
||||
'Lenovo.*PowerManagement',
|
||||
'Lenovo.*SystemUpdate',
|
||||
'Lenovo.*UltraCharger',
|
||||
'Lenovo.*Battery',
|
||||
'Lenovo.*Nerve',
|
||||
'Lenovo.*FusionEngine',
|
||||
'Lenovo.*OneKey.*Theater',
|
||||
'Lenovo.*OneKey.*Optimizer',
|
||||
'LenovoLauncher',
|
||||
'LenovoEasyCamera',
|
||||
'PSREF',
|
||||
'McAfee.*'
|
||||
)
|
||||
|
||||
# Remove via WMI
|
||||
foreach ($app in $LenovoApps) {
|
||||
try {
|
||||
$installed = Get-WmiObject -Class Win32_Product -Filter "Name LIKE '$app'" -ErrorAction SilentlyContinue
|
||||
foreach ($item in $installed) {
|
||||
$item.Uninstall() | Out-Null
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove via PowerShell App Removal
|
||||
foreach ($app in $LenovoApps) {
|
||||
try {
|
||||
Get-AppxPackage -Name "*Lenovo*" -AllUsers -ErrorAction SilentlyContinue | Remove-AppxPackage -AllUsers
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove Lenovo services
|
||||
$LenovoServices = @(
|
||||
'LenovoCOMSvc',
|
||||
'LenovoUpdate',
|
||||
'LenovoWifiDisplayService',
|
||||
'lolmsvc',
|
||||
'LENOVO',
|
||||
'LenovoEasyPlus'
|
||||
)
|
||||
|
||||
foreach ($service in $LenovoServices) {
|
||||
try {
|
||||
$svc = Get-Service -Name $service -ErrorAction SilentlyContinue
|
||||
if ($svc) {
|
||||
Stop-Service -Name $service -Force
|
||||
Set-Service -Name $service -StartupType Disabled
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove Lenovo scheduled tasks
|
||||
try {
|
||||
Get-ScheduledTask -TaskPath "*Lenovo*" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||
} catch { }
|
||||
|
||||
# Remove from Registry
|
||||
try {
|
||||
$LenovoRegPaths = @(
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*Lenovo*',
|
||||
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Lenovo*',
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Lenovo*'
|
||||
)
|
||||
|
||||
foreach ($path in $LenovoRegPaths) {
|
||||
Remove-Item -Path $path -Force -Recurse
|
||||
}
|
||||
} catch { }
|
||||
|
||||
# Remove Lenovo installation directories
|
||||
$LenovoDirs = @(
|
||||
'C:\Program Files\Lenovo',
|
||||
'C:\Program Files (x86)\Lenovo',
|
||||
'C:\ProgramData\Lenovo'
|
||||
)
|
||||
|
||||
foreach ($dir in $LenovoDirs) {
|
||||
try {
|
||||
if (Test-Path $dir) {
|
||||
Remove-Item -Path $dir -Recurse -Force
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
Write-Host "Lenovo bloatware removal complete." -ForegroundColor Green
|
||||
@@ -0,0 +1,21 @@
|
||||
@echo off
|
||||
REM Silent bloatware removal batch wrapper
|
||||
REM Run as Administrator
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
set "SCRIPT_DIR=%~dp0"
|
||||
|
||||
REM Check for admin rights
|
||||
net session >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo This script requires Administrator privileges.
|
||||
echo Attempting to elevate...
|
||||
powershell -Command "Start-Process cmd -ArgumentList '/c %~0' -Verb RunAs" >nul 2>&1
|
||||
exit /b
|
||||
)
|
||||
|
||||
REM Run the main bloatware removal script silently
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "%SCRIPT_DIR%Remove-AllBloat.ps1" >nul 2>&1
|
||||
|
||||
REM Silent exit
|
||||
exit /b 0
|
||||
@@ -0,0 +1,241 @@
|
||||
# Scan for bloatware without removing - Report what WOULD be removed
|
||||
# Run as Administrator (recommended for full results)
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory=$false)]
|
||||
[ValidateSet('All', 'HP', 'Lenovo', 'ASUS', 'Dell')]
|
||||
[string]$Manufacturer = 'All'
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Bloatware Scan Report" -ForegroundColor Cyan
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Manufacturer Filter: $Manufacturer"
|
||||
Write-Host "Generated: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')"
|
||||
Write-Host ""
|
||||
|
||||
# Define what to look for
|
||||
$Patterns = @{
|
||||
"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', 'HPDeskjet.*',
|
||||
'HPOfficejet.*', 'HPPhotosmart.*', 'HPEnvy.*', 'HPLaserJet.*'
|
||||
)
|
||||
"Lenovo" = @(
|
||||
'Lenovo.*Settings', 'Lenovo.*Vantage', 'Lenovo.*Companion', 'Lenovo.*PowerManagement',
|
||||
'Lenovo.*SystemUpdate', 'Lenovo.*UltraCharger', 'Lenovo.*Battery', 'Lenovo.*Nerve',
|
||||
'Lenovo.*FusionEngine', 'Lenovo.*OneKey.*Theater', 'Lenovo.*OneKey.*Optimizer',
|
||||
'LenovoLauncher', 'LenovoEasyCamera', 'PSREF'
|
||||
)
|
||||
"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',
|
||||
'ASUS.*Controller', 'ASUSSMS', 'ASUS.*Sonic.*Studio'
|
||||
)
|
||||
"Dell" = @(
|
||||
'Dell.*Update', 'DellSystemDetect', 'DellClientManagementService', 'Dell.*Backup',
|
||||
'Dell.*Dock', 'Dell.*Display.*Manager', 'Dell.*Easy.*Access', 'Dell.*Foundation.*Services',
|
||||
'Dell.*SupportAssist', 'Dell.*SupportAssistRemediation', 'Dell.*Optimizer', 'DellPowerManager',
|
||||
'Dell.*Command.*Update', 'Alienware.*'
|
||||
)
|
||||
}
|
||||
|
||||
$GlobalResults = @{
|
||||
InstalledApps = @()
|
||||
Services = @()
|
||||
ScheduledTasks = @()
|
||||
Directories = @()
|
||||
RegistryEntries = @()
|
||||
AppxPackages = @()
|
||||
}
|
||||
|
||||
$MfgsToCheck = if ($Manufacturer -eq 'All') { $Patterns.Keys } else { @($Manufacturer) }
|
||||
|
||||
# ==================== INSTALLED APPLICATIONS ====================
|
||||
Write-Host "[*] INSTALLED APPLICATIONS" -ForegroundColor Yellow
|
||||
Write-Host "-" * 40
|
||||
|
||||
$AppCount = 0
|
||||
foreach ($Mfg in $MfgsToCheck) {
|
||||
$MfgCount = 0
|
||||
Write-Host ""
|
||||
Write-Host " $Mfg:" -ForegroundColor Cyan
|
||||
|
||||
foreach ($Pattern in $Patterns[$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
|
||||
Write-Host " Version: $($App.Version)"
|
||||
Write-Host " Installed: $($App.InstallDate)"
|
||||
$GlobalResults.InstalledApps += @{Manufacturer = $Mfg; Name = $App.Name; Version = $App.Version }
|
||||
$MfgCount++
|
||||
$AppCount++
|
||||
}
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
if ($MfgCount -eq 0) {
|
||||
Write-Host " [+] None found" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
|
||||
# ==================== APPX PACKAGES ====================
|
||||
Write-Host ""
|
||||
Write-Host "[*] APPX PACKAGES (Windows Store Apps)" -ForegroundColor Yellow
|
||||
Write-Host "-" * 40
|
||||
|
||||
$AppxCount = 0
|
||||
foreach ($Mfg in $MfgsToCheck) {
|
||||
$MfgAppx = Get-AppxPackage -Name "*$Mfg*" -AllUsers -ErrorAction SilentlyContinue
|
||||
if ($MfgAppx) {
|
||||
Write-Host ""
|
||||
Write-Host " $Mfg:" -ForegroundColor Cyan
|
||||
foreach ($App in $MfgAppx) {
|
||||
Write-Host " - $($App.Name)" -ForegroundColor Red
|
||||
$GlobalResults.AppxPackages += @{Manufacturer = $Mfg; Name = $App.Name }
|
||||
$AppxCount++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($AppxCount -eq 0) {
|
||||
Write-Host " [+] No AppxPackages found" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# ==================== SERVICES ====================
|
||||
Write-Host ""
|
||||
Write-Host "[*] SERVICES" -ForegroundColor Yellow
|
||||
Write-Host "-" * 40
|
||||
|
||||
$ServicePatterns = @{
|
||||
"HP" = @('hpsysdrv', 'HPDrvMaintSvc')
|
||||
"Lenovo" = @('LenovoCOMSvc', 'LenovoUpdate', 'LenovoWifiDisplayService', 'lolmsvc', 'LenovoEasyPlus')
|
||||
"ASUS" = @('ASUSLinkNear', 'ASUSLinkRemote', 'ASUSWebStorage', 'ASUSGiftBox', 'ArmouryCrate', 'asComSvc')
|
||||
"Dell" = @('DellClientManagementService', 'DellSystemDetect', 'DSAService', 'DellDataTransport', 'DellSSDMonitor')
|
||||
}
|
||||
|
||||
$ServiceCount = 0
|
||||
foreach ($Mfg in $MfgsToCheck) {
|
||||
$MfgServices = 0
|
||||
Write-Host ""
|
||||
Write-Host " $Mfg:" -ForegroundColor Cyan
|
||||
|
||||
foreach ($ServiceName in $ServicePatterns[$Mfg]) {
|
||||
try {
|
||||
$Svc = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
|
||||
if ($Svc) {
|
||||
$Status = $Svc.Status
|
||||
$Color = if ($Status -eq 'Running') { 'Red' } else { 'Yellow' }
|
||||
Write-Host " - $($Svc.Name) [$Status]" -ForegroundColor $Color
|
||||
Write-Host " Display Name: $($Svc.DisplayName)"
|
||||
$GlobalResults.Services += @{Manufacturer = $Mfg; Name = $Svc.Name; Status = $Status }
|
||||
$MfgServices++
|
||||
$ServiceCount++
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
if ($MfgServices -eq 0) {
|
||||
Write-Host " [+] No services found" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
|
||||
# ==================== SCHEDULED TASKS ====================
|
||||
Write-Host ""
|
||||
Write-Host "[*] SCHEDULED TASKS" -ForegroundColor Yellow
|
||||
Write-Host "-" * 40
|
||||
|
||||
$TaskCount = 0
|
||||
foreach ($Mfg in $MfgsToCheck) {
|
||||
$MfgTasks = Get-ScheduledTask -TaskPath "*$Mfg*" -ErrorAction SilentlyContinue
|
||||
if ($MfgTasks) {
|
||||
Write-Host ""
|
||||
Write-Host " $Mfg:" -ForegroundColor Cyan
|
||||
foreach ($Task in $MfgTasks) {
|
||||
Write-Host " - $($Task.TaskName)" -ForegroundColor Red
|
||||
Write-Host " Path: $($Task.TaskPath)"
|
||||
Write-Host " State: $($Task.State)"
|
||||
$GlobalResults.ScheduledTasks += @{Manufacturer = $Mfg; Name = $Task.TaskName; Path = $Task.TaskPath }
|
||||
$TaskCount++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($TaskCount -eq 0) {
|
||||
Write-Host " [+] No scheduled tasks found" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# ==================== DIRECTORIES ====================
|
||||
Write-Host ""
|
||||
Write-Host "[*] INSTALLATION DIRECTORIES" -ForegroundColor Yellow
|
||||
Write-Host "-" * 40
|
||||
|
||||
$DirPatterns = @{
|
||||
"HP" = @('C:\Program Files\HP', 'C:\Program Files (x86)\HP', 'C:\Program Files\Hewlett-Packard', 'C:\Program Files (x86)\Hewlett-Packard')
|
||||
"Lenovo" = @('C:\Program Files\Lenovo', 'C:\Program Files (x86)\Lenovo', 'C:\ProgramData\Lenovo')
|
||||
"ASUS" = @('C:\Program Files\ASUS', 'C:\Program Files (x86)\ASUS', 'C:\ProgramData\ASUS')
|
||||
"Dell" = @('C:\Program Files\Dell', 'C:\Program Files (x86)\Dell', 'C:\ProgramData\Dell', 'C:\ProgramData\SupportAssist')
|
||||
}
|
||||
|
||||
$DirCount = 0
|
||||
foreach ($Mfg in $MfgsToCheck) {
|
||||
$MfgDirs = 0
|
||||
Write-Host ""
|
||||
Write-Host " $Mfg:" -ForegroundColor Cyan
|
||||
|
||||
foreach ($Dir in $DirPatterns[$Mfg]) {
|
||||
if (Test-Path $Dir) {
|
||||
$Size = (Get-ChildItem -Path $Dir -Recurse -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum
|
||||
$SizeGB = [math]::Round($Size / 1GB, 2)
|
||||
Write-Host " - $Dir" -ForegroundColor Red
|
||||
Write-Host " Size: $SizeGB GB"
|
||||
$GlobalResults.Directories += @{Manufacturer = $Mfg; Path = $Dir; SizeGB = $SizeGB }
|
||||
$MfgDirs++
|
||||
$DirCount++
|
||||
}
|
||||
}
|
||||
|
||||
if ($MfgDirs -eq 0) {
|
||||
Write-Host " [+] No directories found" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
|
||||
# ==================== SUMMARY ====================
|
||||
Write-Host ""
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "SUMMARY" -ForegroundColor Cyan
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "Total Items Found:" -ForegroundColor Cyan
|
||||
Write-Host " Installed Applications: $AppCount" -ForegroundColor $(if ($AppCount -gt 0) { 'Red' } else { 'Green' })
|
||||
Write-Host " AppxPackages: $AppxCount" -ForegroundColor $(if ($AppxCount -gt 0) { 'Red' } else { 'Green' })
|
||||
Write-Host " Services: $ServiceCount" -ForegroundColor $(if ($ServiceCount -gt 0) { 'Red' } else { 'Green' })
|
||||
Write-Host " Scheduled Tasks: $TaskCount" -ForegroundColor $(if ($TaskCount -gt 0) { 'Red' } else { 'Green' })
|
||||
Write-Host " Directories: $DirCount" -ForegroundColor $(if ($DirCount -gt 0) { 'Red' } else { 'Green' })
|
||||
Write-Host ""
|
||||
|
||||
$TotalItems = $AppCount + $AppxCount + $ServiceCount + $TaskCount + $DirCount
|
||||
|
||||
if ($TotalItems -eq 0) {
|
||||
Write-Host "[+] CLEAN: No bloatware detected!" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "[-] BLOATWARE DETECTED: $TotalItems items" -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host "Next Steps:" -ForegroundColor Yellow
|
||||
Write-Host " 1. Review items above"
|
||||
Write-Host " 2. Run: powershell -ExecutionPolicy Bypass -File 'Remove-AllBloat.ps1'"
|
||||
Write-Host " 3. Verify with: powershell -ExecutionPolicy Bypass -File 'Verify-Removal.ps1'"
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "[*] Scan complete."
|
||||
@@ -0,0 +1,164 @@
|
||||
# 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."
|
||||
Reference in New Issue
Block a user