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