Files
2026-07-21 09:57:38 +02:00

355 lines
12 KiB
Markdown

# Remote Execution Guide
Execute bloatware removal scripts directly from Git repository - **no download needed**.
---
## 🚀 One-Command Remote Execution
### Simplest: Remove All Bloatware
Copy and paste this command in PowerShell (Admin mode):
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content"
```
**That's it!** The script will:
1. Download from the repository
2. Request admin elevation if needed
3. Execute silently
4. Remove all bloatware
---
## 📋 All Remote Execution Commands
### Full Removal (All Manufacturers)
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content"
```
### Manufacturer-Specific Removal
#### HP Only
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-HPBloat.ps1' -UseBasicParsing).Content"
```
#### Lenovo Only
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-LenovoBloat.ps1' -UseBasicParsing).Content"
```
#### ASUS Only
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-ASUSBloat.ps1' -UseBasicParsing).Content"
```
#### Dell Only
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-DellBloat.ps1' -UseBasicParsing).Content"
```
### Diagnostic Commands
#### Preview What Will Be Removed (No Removal)
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Scan-Bloatware.ps1' -UseBasicParsing).Content"
```
#### Verify Removal Was Successful
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Verify-Removal.ps1' -UseBasicParsing).Content"
```
---
## 🎯 How to Use (Step by Step)
### For Users (Single PC)
1. **Open PowerShell as Administrator**
- Press `Windows Key`
- Type `powershell`
- Right-click "Windows PowerShell"
- Select "Run as administrator"
2. **Copy the command** (one of the above)
3. **Paste into PowerShell** and press Enter
4. **Wait** for completion (5-10 seconds)
5. **Verify** with the Verify command above
### For IT Professionals (Multiple PCs)
#### Deploy via Group Policy
1. Create a batch file with remote execution command:
```batch
@echo off
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content" >nul 2>&1
```
2. Use Group Policy:
- Computer Configuration
- Windows Settings
- Scripts (Startup/Shutdown)
- Add the batch file
- Deploy to OUs
#### Deploy via Task Scheduler
```powershell
# Create scheduled task that runs at startup
$Uri = 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1'
$Cmd = "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri '$Uri' -UseBasicParsing).Content"
$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -Command `"$Cmd`""
$Trigger = New-ScheduledTaskTrigger -AtStartup
$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
Register-ScheduledTask -TaskName "Remove Bloatware" -Action $Action -Trigger $Trigger -Principal $Principal -Force
```
#### Deploy to Remote Computers
```powershell
# Deploy to multiple remote PCs
$Computers = "PC1", "PC2", "PC3"
$Uri = 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1'
foreach ($Computer in $Computers) {
Invoke-Command -ComputerName $Computer -ScriptBlock {
[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12
Invoke-Expression(Invoke-WebRequest -Uri $Uri -UseBasicParsing).Content
} -ArgumentList $Uri
}
```
---
## 🔒 How It Works (Security)
### What Happens When You Run the Command
1. **PowerShell downloads the script**
- Uses HTTPS (encrypted)
- Verifies SSL certificate
- Downloads only when needed
2. **Script runs in memory**
- Never touches disk
- Cannot be scanned by antivirus for pre-execution
- Leaves no temporary files
3. **Admin elevation**
- Automatic if not admin
- Prompts user before elevating
4. **Silent execution**
- No output unless error
- No windows or popups
- Returns to prompt when done
### Safety Verification
**Safe because:**
- Repository is publicly accessible
- Scripts are version-controlled
- Changes are tracked in Git history
- You can audit before running
**Verify script before running:**
```powershell
# View script contents without executing
$Uri = 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1'
(Invoke-WebRequest -Uri $Uri -UseBasicParsing).Content | Out-Host
```
---
## 🔧 Advanced Usage
### Run with Parameters
Using the Remote-Launch.ps1 script:
```powershell
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remote-Launch.ps1' -UseBasicParsing).Content" -Script HP -Branch main
```
**Available Parameters:**
- `-Script`: Which removal script to run (All, HP, Lenovo, ASUS, Dell, Scan, Verify, Deploy)
- `-Branch`: Git branch to use (default: main)
- `-RepoURL`: Custom repository URL
### Run with Custom Repository
If you have forked the repository:
```powershell
$RepoURL = 'https://git.azuze.fr/youruser/Kawa-s-Bloat-Remover'
$Uri = "$RepoURL/raw/main/Remove-AllBloat.ps1"
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri '$Uri' -UseBasicParsing).Content"
```
### Silent Execution (No Output)
```powershell
powershell -ExecutionPolicy Bypass -WindowStyle Hidden -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content" >$null 2>&1
```
### Log Execution Results
```powershell
$LogFile = 'C:\Logs\bloatware-removal.log'
$Uri = 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1'
"[$(Get-Date)] Starting bloatware removal..." | Add-Content $LogFile
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri '$Uri' -UseBasicParsing).Content" 2>&1 | Add-Content $LogFile
"[$(Get-Date)] Bloatware removal complete." | Add-Content $LogFile
```
---
## ❓ Troubleshooting Remote Execution
### Error: "Access to the path is denied"
- Run PowerShell as Administrator
- Use `-ExecutionPolicy Bypass` flag
### Error: "The underlying connection was closed"
- Update .NET Framework
- Run: `[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12`
### Error: "The remote name could not be resolved"
- Check internet connection
- Verify firewall allows HTTPS outbound
- Try with full URL: Check the exact repository URL
### Script downloads but doesn't execute
- Check PowerShell execution policy
- Verify admin rights
- Check Windows Defender doesn't block it
### Stuck/Hanging
- Wait 30 seconds (sometimes slow)
- Press Ctrl+C to cancel
- Try again, may need to disable antivirus temporarily
---
## 🌐 Repository URLs
**Base Repository:**
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover
**Raw Script URLs:**
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-HPBloat.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-LenovoBloat.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-ASUSBloat.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-DellBloat.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Scan-Bloatware.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Verify-Removal.ps1
- https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remote-Launch.ps1
---
## 📊 Comparison: Local vs Remote
| Feature | Local File | Remote Execution |
|---------|-----------|------------------|
| Download needed | Yes | No |
| Setup required | Some | None |
| Speed | Faster | Slightly slower |
| Disk space | ~40 KB | None |
| Offline capable | Yes | No |
| Always up-to-date | No | Yes |
| Easy sharing | No | Yes |
| Audit before run | Harder | Easy |
**Best for:**
- **Local:** Offline systems, frequent use, slow internet
- **Remote:** One-time use, updates, deployment, easy sharing
---
## 💡 Tips & Best Practices
### Best Practice: Scan First
```powershell
# 1. Always scan first to see what will be removed
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Scan-Bloatware.ps1' -UseBasicParsing).Content"
# 2. Review the output
# 3. Then run removal
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content"
# 4. Verify success
powershell -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Verify-Removal.ps1' -UseBasicParsing).Content"
```
### Create a Shortcut
Create a `.ps1` file on desktop:
```powershell
# File: Bloatware-Remover.ps1
[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12
Invoke-Expression(Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing).Content
```
Then run: `powershell -ExecutionPolicy Bypass -File "Bloatware-Remover.ps1"`
### Automate with Task Scheduler
See "Deploy via Task Scheduler" section above
---
## 🔍 Verify Repository
Check that scripts are unmodified:
```powershell
# Get latest commit hash
$Uri = 'https://git.azuze.fr/api/v1/repos/kawa/Kawa-s-Bloat-Remover/commits?limit=1'
$Response = Invoke-WebRequest -Uri $Uri -UseBasicParsing | ConvertFrom-Json
Write-Host "Latest Commit: $($Response[0].sha)"
Write-Host "Author: $($Response[0].author.name)"
Write-Host "Date: $($Response[0].created)"
```
---
## 📞 Support
For issues with remote execution:
1. **Check internet connection**
```powershell
Test-NetConnection -ComputerName git.azuze.fr -Port 443
```
2. **Verify TLS/SSL**
```powershell
[Net.ServicePointManager]::SecurityProtocol
```
3. **Test direct download**
```powershell
Invoke-WebRequest -Uri 'https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover/raw/main/Remove-AllBloat.ps1' -UseBasicParsing | Select-Object -ExpandProperty Content | Head -20
```
4. **Check repository access**
- Visit: https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover
- Browser should load without errors
---
**Version:** 1.0
**Last Updated:** 2026-07-21
**Repository:** https://git.azuze.fr/kawa/Kawa-s-Bloat-Remover