Upload files to "/"
This commit is contained in:
@@ -0,0 +1,232 @@
|
||||
# Bloatware Removal Scripts
|
||||
|
||||
Comprehensive scripts to silently remove manufacturer bloatware from PCs. Supports HP, Lenovo, ASUS, and Dell systems.
|
||||
|
||||
## Scripts Included
|
||||
|
||||
### 1. **Remove-AllBloat.ps1** (Recommended)
|
||||
Removes bloatware from all four manufacturers in a single execution.
|
||||
|
||||
**Usage:**
|
||||
```powershell
|
||||
# Run with elevated privileges
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "Remove-AllBloat.ps1"
|
||||
|
||||
# Or run silently in background
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "Remove-AllBloat.ps1" >$null 2>&1
|
||||
```
|
||||
|
||||
### 2. **Remove-HPBloat.ps1**
|
||||
Targets HP-specific bloatware only.
|
||||
|
||||
**Usage:**
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "Remove-HPBloat.ps1"
|
||||
```
|
||||
|
||||
### 3. **Remove-LenovoBloat.ps1**
|
||||
Targets Lenovo-specific bloatware only.
|
||||
|
||||
**Usage:**
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "Remove-LenovoBloat.ps1"
|
||||
```
|
||||
|
||||
### 4. **Remove-ASUSBloat.ps1**
|
||||
Targets ASUS-specific bloatware only.
|
||||
|
||||
**Usage:**
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "Remove-ASUSBloat.ps1"
|
||||
```
|
||||
|
||||
### 5. **Remove-DellBloat.ps1**
|
||||
Targets Dell-specific bloatware only.
|
||||
|
||||
**Usage:**
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "Remove-DellBloat.ps1"
|
||||
```
|
||||
|
||||
### 6. **Run-AllBloat.bat**
|
||||
Batch file wrapper for silent execution via Command Prompt or Task Scheduler.
|
||||
|
||||
**Usage:**
|
||||
```cmd
|
||||
Run-AllBloat.bat
|
||||
```
|
||||
|
||||
## Silent Execution Methods
|
||||
|
||||
### Method 1: Batch File
|
||||
```cmd
|
||||
Run-AllBloat.bat
|
||||
```
|
||||
|
||||
### Method 2: PowerShell Silent Mode
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "Remove-AllBloat.ps1" >$null 2>&1
|
||||
```
|
||||
|
||||
### Method 3: Task Scheduler (Automated)
|
||||
```powershell
|
||||
$TaskName = "Remove Bloatware"
|
||||
$TaskPath = "C:\path\to\Run-AllBloat.bat"
|
||||
|
||||
$Action = New-ScheduledTaskAction -Execute "$TaskPath"
|
||||
$Trigger = New-ScheduledTaskTrigger -AtStartup
|
||||
$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
|
||||
|
||||
Register-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger -Principal $Principal
|
||||
```
|
||||
|
||||
### Method 4: Quiet PowerShell Execution
|
||||
```powershell
|
||||
Start-Process powershell.exe -ArgumentList "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"Remove-AllBloat.ps1`"" -WindowStyle Hidden -Wait
|
||||
```
|
||||
|
||||
## What Gets Removed
|
||||
|
||||
### HP
|
||||
- HP Support Assistant & Alerts
|
||||
- HP Cloud Recovery
|
||||
- HP Security Update
|
||||
- HP Wireless Assistant
|
||||
- HP Print Library
|
||||
- Various printer drivers (Deskjet, Officejet, Photosmart, Envy, LaserJet)
|
||||
- Related services and scheduled tasks
|
||||
|
||||
### Lenovo
|
||||
- Lenovo Vantage & Settings
|
||||
- Lenovo Companion
|
||||
- Power Management utilities
|
||||
- System Update tools
|
||||
- Lenovo OneKey Theater/Optimizer
|
||||
- Easy Camera
|
||||
- Related services and scheduled tasks
|
||||
|
||||
### ASUS
|
||||
- ASUS Live Update
|
||||
- ASUS WebStorage
|
||||
- ASUS Gamer OSD
|
||||
- ASUS Ambient & FX
|
||||
- Smart Gesture & Safe Face
|
||||
- Keyboard & Touchpad utilities
|
||||
- Turbo, GameVisual, Controller software
|
||||
- Related services and scheduled tasks
|
||||
|
||||
### Dell
|
||||
- Dell Update & System Detect
|
||||
- SupportAssist utilities
|
||||
- Display Manager & Easy Access
|
||||
- Dell Optimizer & Power Manager
|
||||
- Dell Dock
|
||||
- Command Update
|
||||
- Related services and scheduled tasks
|
||||
|
||||
## Removal Methods
|
||||
|
||||
Each script uses multiple methods to ensure complete removal:
|
||||
|
||||
1. **WMI Uninstall** - Uses Win32_Product class to uninstall applications
|
||||
2. **AppxPackage Removal** - Removes UWP apps for Windows 10+
|
||||
3. **Service Disabling** - Stops and disables associated Windows services
|
||||
4. **Task Scheduler Cleanup** - Removes scheduled tasks
|
||||
5. **Registry Cleanup** - Removes uninstall and run registry entries
|
||||
6. **Directory Removal** - Deletes installation directories
|
||||
|
||||
## Silent Failure
|
||||
|
||||
All scripts use `$ErrorActionPreference = 'SilentlyContinue'` to ensure:
|
||||
- No error messages appear
|
||||
- Script continues if an application isn't found
|
||||
- Script runs without user interaction
|
||||
- No output unless explicitly shown
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Windows 10 or later**
|
||||
- **Administrator privileges**
|
||||
- **PowerShell 5.0 or later**
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- These scripts are safe for end-user PCs and corporate deployments
|
||||
- No critical system files are removed
|
||||
- Manufacturer bloatware is frequently re-installed by update utilities
|
||||
- Consider re-running periodically or disabling manufacturer update services
|
||||
- Backup important data before running (though these scripts do not affect user data)
|
||||
|
||||
## Deployment Tips
|
||||
|
||||
### For Single PC:
|
||||
```powershell
|
||||
# Download and run directly
|
||||
powershell -ExecutionPolicy Bypass -File "Remove-AllBloat.ps1"
|
||||
```
|
||||
|
||||
### For Multiple PCs (via Group Policy):
|
||||
Create a scheduled task with:
|
||||
- **Trigger:** At Startup or On a Schedule
|
||||
- **Action:** Run `Run-AllBloat.bat` with highest privileges
|
||||
- **Hidden:** Yes (Run with highest privileges)
|
||||
|
||||
### For Network Deployment:
|
||||
```powershell
|
||||
# Copy script to network share, then execute on remote machines
|
||||
$Computer = "REMOTE-PC"
|
||||
$Script = "\\share\Remove-AllBloat.ps1"
|
||||
|
||||
Invoke-Command -ComputerName $Computer -FilePath $Script
|
||||
```
|
||||
|
||||
## Logging (Optional)
|
||||
|
||||
To add logging, modify the scripts to include:
|
||||
```powershell
|
||||
$LogFile = "C:\Logs\bloatware-removal.log"
|
||||
Add-Content -Path $LogFile -Value "$(Get-Date): Bloatware removal started"
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Script won't run
|
||||
- Ensure Administrator privileges: `Run as Administrator`
|
||||
- Check execution policy: `Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser`
|
||||
|
||||
### AppxPackage removal fails
|
||||
- This is normal on systems without UWP apps
|
||||
- The script handles this silently
|
||||
|
||||
### Services won't stop
|
||||
- Some services may be in use; this is handled silently
|
||||
- System will restart to complete removal
|
||||
|
||||
### Registry entries remain
|
||||
- Some entries may be protected; the script handles this silently
|
||||
- These won't cause issues as the applications are removed
|
||||
|
||||
## Command Reference
|
||||
|
||||
```powershell
|
||||
# Run all manufacturers
|
||||
powershell -ExecutionPolicy Bypass -File "Remove-AllBloat.ps1"
|
||||
|
||||
# Run HP only
|
||||
powershell -ExecutionPolicy Bypass -File "Remove-HPBloat.ps1"
|
||||
|
||||
# Run silently in background (no window)
|
||||
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -File "Remove-AllBloat.ps1"
|
||||
|
||||
# Run with no output
|
||||
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -File "Remove-AllBloat.ps1" >$null 2>&1
|
||||
```
|
||||
|
||||
## Legal Notice
|
||||
|
||||
These scripts are designed for:
|
||||
- Enterprise IT administrators removing pre-installed software
|
||||
- Individual users cleaning their own systems
|
||||
- Educational purposes
|
||||
|
||||
These scripts should only be used on systems you own or have authorization to manage.
|
||||
@@ -0,0 +1,99 @@
|
||||
# Remove ASUS Bloatware - Silent mode with error suppression
|
||||
# Run as Administrator
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
# ASUS Bloatware packages to remove
|
||||
$ASUSApps = @(
|
||||
'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',
|
||||
'ASUS.*Experience.*Link'
|
||||
)
|
||||
|
||||
# Remove via WMI
|
||||
foreach ($app in $ASUSApps) {
|
||||
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 $ASUSApps) {
|
||||
try {
|
||||
Get-AppxPackage -Name "*ASUS*" -AllUsers -ErrorAction SilentlyContinue | Remove-AppxPackage -AllUsers
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove ASUS services
|
||||
$ASUSServices = @(
|
||||
'ASUSLinkNear',
|
||||
'ASUSLinkRemote',
|
||||
'ASUSWebStorage',
|
||||
'ASUSGiftBox',
|
||||
'ArmouryCrate',
|
||||
'asComSvc'
|
||||
)
|
||||
|
||||
foreach ($service in $ASUSServices) {
|
||||
try {
|
||||
$svc = Get-Service -Name $service -ErrorAction SilentlyContinue
|
||||
if ($svc) {
|
||||
Stop-Service -Name $service -Force
|
||||
Set-Service -Name $service -StartupType Disabled
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove ASUS scheduled tasks
|
||||
try {
|
||||
Get-ScheduledTask -TaskPath "*ASUS*" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||
} catch { }
|
||||
|
||||
# Remove from Registry
|
||||
try {
|
||||
$ASUSRegPaths = @(
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*ASUS*',
|
||||
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*ASUS*',
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*ASUS*'
|
||||
)
|
||||
|
||||
foreach ($path in $ASUSRegPaths) {
|
||||
Remove-Item -Path $path -Force -Recurse
|
||||
}
|
||||
} catch { }
|
||||
|
||||
# Remove ASUS installation directories
|
||||
$ASUSDirs = @(
|
||||
'C:\Program Files\ASUS',
|
||||
'C:\Program Files (x86)\ASUS',
|
||||
'C:\ProgramData\ASUS'
|
||||
)
|
||||
|
||||
foreach ($dir in $ASUSDirs) {
|
||||
try {
|
||||
if (Test-Path $dir) {
|
||||
Remove-Item -Path $dir -Recurse -Force
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
Write-Host "ASUS bloatware removal complete." -ForegroundColor Green
|
||||
@@ -0,0 +1,137 @@
|
||||
# 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
|
||||
@@ -0,0 +1,99 @@
|
||||
# Remove Dell Bloatware - Silent mode with error suppression
|
||||
# Run as Administrator
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
# Dell Bloatware packages to remove
|
||||
$DellApps = @(
|
||||
'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',
|
||||
'Dell.*KACE',
|
||||
'Alienware.*'
|
||||
)
|
||||
|
||||
# Remove via WMI
|
||||
foreach ($app in $DellApps) {
|
||||
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 $DellApps) {
|
||||
try {
|
||||
Get-AppxPackage -Name "*Dell*" -AllUsers -ErrorAction SilentlyContinue | Remove-AppxPackage -AllUsers
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove Dell services
|
||||
$DellServices = @(
|
||||
'DellClientManagementService',
|
||||
'DellSystemDetect',
|
||||
'DSAService',
|
||||
'DellDataTransport',
|
||||
'DellSSDMonitor',
|
||||
'DellPowerManagementService'
|
||||
)
|
||||
|
||||
foreach ($service in $DellServices) {
|
||||
try {
|
||||
$svc = Get-Service -Name $service -ErrorAction SilentlyContinue
|
||||
if ($svc) {
|
||||
Stop-Service -Name $service -Force
|
||||
Set-Service -Name $service -StartupType Disabled
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove Dell scheduled tasks
|
||||
try {
|
||||
Get-ScheduledTask -TaskPath "*Dell*" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||
} catch { }
|
||||
|
||||
# Remove from Registry
|
||||
try {
|
||||
$DellRegPaths = @(
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*Dell*',
|
||||
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Dell*',
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*Dell*'
|
||||
)
|
||||
|
||||
foreach ($path in $DellRegPaths) {
|
||||
Remove-Item -Path $path -Force -Recurse
|
||||
}
|
||||
} catch { }
|
||||
|
||||
# Remove Dell installation directories
|
||||
$DellDirs = @(
|
||||
'C:\Program Files\Dell',
|
||||
'C:\Program Files (x86)\Dell',
|
||||
'C:\ProgramData\Dell',
|
||||
'C:\ProgramData\SupportAssist'
|
||||
)
|
||||
|
||||
foreach ($dir in $DellDirs) {
|
||||
try {
|
||||
if (Test-Path $dir) {
|
||||
Remove-Item -Path $dir -Recurse -Force
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
Write-Host "Dell bloatware removal complete." -ForegroundColor Green
|
||||
@@ -0,0 +1,97 @@
|
||||
# Remove HP Bloatware - Silent mode with error suppression
|
||||
# Run as Administrator
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
# HP Bloatware packages to remove
|
||||
$HPApps = @(
|
||||
'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.*'
|
||||
)
|
||||
|
||||
# Remove via WMI (works for most systems)
|
||||
foreach ($app in $HPApps) {
|
||||
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 (Windows 10+)
|
||||
foreach ($app in $HPApps) {
|
||||
try {
|
||||
Get-AppxPackage -Name "*HP*" -AllUsers -ErrorAction SilentlyContinue | Remove-AppxPackage -AllUsers
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove HP services
|
||||
$HPServices = @(
|
||||
'hpsysdrv',
|
||||
'HPDrvMaintSvc',
|
||||
'HP*'
|
||||
)
|
||||
|
||||
foreach ($service in $HPServices) {
|
||||
try {
|
||||
$svc = Get-Service -Name $service -ErrorAction SilentlyContinue
|
||||
if ($svc) {
|
||||
Stop-Service -Name $service -Force
|
||||
Set-Service -Name $service -StartupType Disabled
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
# Remove HP scheduled tasks
|
||||
try {
|
||||
Get-ScheduledTask -TaskPath "*HP*" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
|
||||
} catch { }
|
||||
|
||||
# Remove HP registry entries and startup items
|
||||
try {
|
||||
$HPRegPaths = @(
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*HP*',
|
||||
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*HP*',
|
||||
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*HP*'
|
||||
)
|
||||
|
||||
foreach ($path in $HPRegPaths) {
|
||||
Remove-Item -Path $path -Force -Recurse
|
||||
}
|
||||
} catch { }
|
||||
|
||||
# Remove HP installation directories
|
||||
$HPDirs = @(
|
||||
'C:\Program Files\HP',
|
||||
'C:\Program Files (x86)\HP',
|
||||
'C:\Program Files\Hewlett-Packard',
|
||||
'C:\Program Files (x86)\Hewlett-Packard'
|
||||
)
|
||||
|
||||
foreach ($dir in $HPDirs) {
|
||||
try {
|
||||
if (Test-Path $dir) {
|
||||
Remove-Item -Path $dir -Recurse -Force
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
Write-Host "HP bloatware removal complete." -ForegroundColor Green
|
||||
Reference in New Issue
Block a user