# 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