Upload files to "/"
This commit is contained in:
@@ -0,0 +1,354 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user