Powershell adm
Set-ExecutionPolicy Bypass –Scope Process –Force
# ============================================================
# Désactivation complète de Windows Update - Windows 11
# Script PowerShell Administrateur
# ============================================================
Write-Host ""
Write-Host "==============================================="
Write-Host " Désactivation COMPLETE de Windows Update"
Write-Host "==============================================="
Write-Host ""
# ------------------------------------------------------------
# Vérification admin
# ------------------------------------------------------------
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Write-Host "Lancez PowerShell en mode Administrateur."
Pause
Exit
}
# ------------------------------------------------------------
# Arrêt des services Windows Update
# ------------------------------------------------------------
$services = @(
"wuauserv",
"UsoSvc",
"WaaSMedicSvc",
"BITS",
"DoSvc"
)
foreach ($service in $services)
{
Write-Host "Arrêt du service : $service"
Stop-Service -Name $service -Force -ErrorAction SilentlyContinue
Set-Service -Name $service -StartupType Disabled -ErrorAction SilentlyContinue
}
# ------------------------------------------------------------
# Désactivation via registre
# ------------------------------------------------------------
Write-Host ""
Write-Host "Modification du registre..."
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Force | Out-Null
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force | Out-Null
Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
-Name "NoAutoUpdate" `
-Type DWord `
-Value 1
Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
-Name "AUOptions" `
-Type DWord `
-Value 1
# ------------------------------------------------------------
# Désactivation tâches planifiées Windows Update
# ------------------------------------------------------------
Write-Host ""
Write-Host "Désactivation des tâches planifiées..."
$tasks = @(
"\Microsoft\Windows\WindowsUpdate\Scheduled Start",
"\Microsoft\Windows\UpdateOrchestrator\Schedule Scan",
"\Microsoft\Windows\UpdateOrchestrator\UpdateAssistant",
"\Microsoft\Windows\UpdateOrchestrator\USO_UxBroker",
"\Microsoft\Windows\WaaSMedic\PerformRemediation"
)
foreach ($task in $tasks)
{
Disable-ScheduledTask -TaskPath (Split-Path $task -Parent) `
-TaskName (Split-Path $task -Leaf) `
-ErrorAction SilentlyContinue
}
# ------------------------------------------------------------
# Blocage du service Medic
# ------------------------------------------------------------
Write-Host ""
Write-Host "Blocage du service WaaSMedic..."
reg add "HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" `
/v Start /t REG_DWORD /d 4 /f
# ------------------------------------------------------------
# Suppression cache Windows Update
# ------------------------------------------------------------
Write-Host ""
Write-Host "Suppression du cache Windows Update..."
Remove-Item -Path "C:\Windows\SoftwareDistribution" `
-Recurse -Force -ErrorAction SilentlyContinue
# ------------------------------------------------------------
# Blocage Delivery Optimization
# ------------------------------------------------------------
Write-Host ""
Write-Host "Blocage Delivery Optimization..."
Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config" `
-Name "DODownloadMode" `
-Type DWord `
-Value 0
# ------------------------------------------------------------
# Fin
# ------------------------------------------------------------
Write-Host ""
Write-Host "==============================================="
Write-Host " Windows Update désactivé."
Write-Host " Redémarrez le PC."
Write-Host "==============================================="
Write-Host ""
Pause



