Windows 11 enlève inutiles

powershell adm

# ============================================================
# Windows 11 Debloat Script
# Version SAFE commentée
#
# Supprime / désactive :
# - Copilot
# - OneDrive
# - télémétrie
# - Recall
# - publicité Microsoft
# - services inutiles
# - bloatwares
#
# Sections volontairement RETIRÉES :
# - suppression complète de Windows Defender
#   (trop risqué / instable sur Windows 11 moderne)
#
# Exécuter EN ADMINISTRATEUR
# ============================================================

Write-Host ""
Write-Host "========================================="
Write-Host " Windows 11 Debloat Script"
Write-Host "========================================="
Write-Host ""

# ------------------------------------------------------------
# Vérification administrateur
# ------------------------------------------------------------

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(
[Security.Principal.WindowsBuiltInRole] "Administrator"))
{
    Write-Host "Veuillez lancer PowerShell en administrateur."
    Pause
    Exit
}

# ============================================================
# SECTION : DESACTIVATION COPILOT
# ============================================================

Write-Host ""
Write-Host "Désactivation Copilot..."

New-Item `
-Path "HKCU:\Software\Policies\Microsoft\Windows" `
-Name "WindowsCopilot" `
-Force | Out-Null

Set-ItemProperty `
-Path "HKCU:\Software\Policies\Microsoft\Windows\WindowsCopilot" `
-Name "TurnOffWindowsCopilot" `
-Type DWord `
-Value 1

# ============================================================
# SECTION : SUPPRESSION ONEDRIVE
# ============================================================

Write-Host ""
Write-Host "Suppression OneDrive..."

taskkill /f /im OneDrive.exe 2>$null

Start-Process `
"$env:SystemRoot\SysWOW64\OneDriveSetup.exe" `
"/uninstall" `
-NoNewWindow `
-Wait

Remove-Item `
"$env:USERPROFILE\OneDrive" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue

Remove-Item `
"C:\OneDriveTemp" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue

# ============================================================
# SECTION : DESACTIVATION TELEMETRIE
# ============================================================

Write-Host ""
Write-Host "Désactivation télémétrie..."

New-Item `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" `
-Force | Out-Null

Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" `
-Name "AllowTelemetry" `
-Type DWord `
-Value 0

$telemetryServices = @(
    "DiagTrack",
    "dmwappushservice"
)

foreach ($service in $telemetryServices)
{
    Stop-Service $service `
    -Force `
    -ErrorAction SilentlyContinue

    Set-Service `
    $service `
    -StartupType Disabled `
    -ErrorAction SilentlyContinue
}

# ============================================================
# SECTION : DESACTIVATION PUBLICITES MICROSOFT
# ============================================================

Write-Host ""
Write-Host "Suppression publicité Microsoft..."

Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" `
-Name "SubscribedContent-338388Enabled" `
-Type DWord `
-Value 0

Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" `
-Name "SubscribedContent-353694Enabled" `
-Type DWord `
-Value 0

Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" `
-Name "SubscribedContent-353696Enabled" `
-Type DWord `
-Value 0

Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" `
-Name "ShowSyncProviderNotifications" `
-Type DWord `
-Value 0

# ============================================================
# SECTION : DESACTIVATION WINDOWS RECALL
# ============================================================

Write-Host ""
Write-Host "Désactivation Recall..."

New-Item `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" `
-Force | Out-Null

Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" `
-Name "DisableAIDataAnalysis" `
-Type DWord `
-Value 1

# ============================================================
# SECTION : DESACTIVATION SERVICES INUTILES
# ============================================================

Write-Host ""
Write-Host "Désactivation services inutiles..."

$services = @(
    "MapsBroker",
    "Fax",
    "XblAuthManager",
    "XblGameSave",
    "XboxNetApiSvc",
    "WSearch",
    "RemoteRegistry",
    "WerSvc",
    "DiagTrack"
)

foreach ($service in $services)
{
    Stop-Service `
    $service `
    -Force `
    -ErrorAction SilentlyContinue

    Set-Service `
    $service `
    -StartupType Disabled `
    -ErrorAction SilentlyContinue
}

# ============================================================
# SECTION : SUPPRESSION BLOATWARES WINDOWS
# ============================================================

Write-Host ""
Write-Host "Suppression applications préinstallées..."

$bloat = @(
    "*Xbox*",
    "*ZuneMusic*",
    "*ZuneVideo*",
    "*BingNews*",
    "*GetHelp*",
    "*MicrosoftSolitaireCollection*",
    "*MicrosoftTeams*",
    "*SkypeApp*",
    "*Clipchamp*"
)

foreach ($app in $bloat)
{
    Get-AppxPackage $app |
    Remove-AppxPackage `
    -ErrorAction SilentlyContinue
}

# ============================================================
# SECTION : NETTOYAGE MENU DEMARRER
# ============================================================

Write-Host ""
Write-Host "Nettoyage menu démarrer..."

Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" `
-Name "Start_IrisRecommendations" `
-Type DWord `
-Value 0

# ============================================================
# SECTION : DESACTIVATION TRACKING ACTIVITES
# ============================================================

Write-Host ""
Write-Host "Désactivation tracking activité..."

New-Item `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" `
-Force | Out-Null

Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" `
-Name "PublishUserActivities" `
-Type DWord `
-Value 0

Set-ItemProperty `
-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" `
-Name "UploadUserActivities" `
-Type DWord `
-Value 0

# ============================================================
# SECTION : NETTOYAGE TEMPORAIRES
# ============================================================

Write-Host ""
Write-Host "Nettoyage fichiers temporaires..."

Remove-Item `
"$env:TEMP\*" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue

# ============================================================
# SECTION RETIREE : SUPPRESSION DEFENDER
# ============================================================

# ------------------------------------------------------------
# Cette section a été volontairement retirée.
#
# Raisons :
# - Windows 11 réinstalle souvent Defender automatiquement
# - suppression complète peut casser Windows Update
# - peut provoquer instabilités système
# - certaines versions nécessitent TrustedInstaller
# - Microsoft protège fortement Defender désormais
#
# Alternative recommandée :
#
# Désactivation partielle :
#
# Set-MpPreference -DisableRealtimeMonitoring $true
#
# ou utilisation d'un outil externe :
# - Defender Control
# - O&O ShutUp10++
# - Sophia Script
#
# ------------------------------------------------------------

# ============================================================
# FIN
# ============================================================

Write-Host ""
Write-Host "========================================="
Write-Host " Optimisation terminée."
Write-Host " Redémarrez votre PC."
Write-Host "========================================="
Write-Host ""

Pause

desactive_inutile_windows.ps1

WINDOWS 11 désactiver MAJ

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

desactive_maj_windows.ps1