rss logo

Comment supprimer les WinApps de Windows 10 et 11

Illustration représentant la suppression automatique des applications WinApps inutiles de Windows avec PowerShell

Depuis Windows 10, Microsoft a malheureusement rempli le menu Démarrer et le système d’un grand nombre d’applications inutiles, souvent appelées WinApps ou WinAppx. Bien qu’il soit possible de les supprimer via PowerShell, Microsoft a tendance à les réinstaller automatiquement — soit lors de la connexion d’un nouvel utilisateur, soit pendant les mises à jour du système.

Dans ce guide, je vous présente une méthode simple et fiable pour supprimer automatiquement ces applications indésirables à chaque ouverture de session. Cette approche combine un script PowerShell et une tâche planifiée dans le Planificateur de tâches Windows. À chaque connexion, le script PowerShell s’exécute automatiquement et nettoie les applications préinstallées.

Script PowerShell

Nous allons créer un script PowerShell nommé remove_winapps.ps1 dans le dossier C:\ProgramData\Scripts\ afin qu’il soit disponible pour tous les utilisateurs du système. Ce script supprimera la plupart des WinApps (ou paquets WinAppx) inutiles préinstallés sur Windows.

###########################
# Auteur : std.rocks
# Version : 1.0
# Date : 2025.10
# Rôle : Supprimer les WinApps (paquets AppX) indésirables
# Mises à jour :
#   - 1.0 (2025/10) : Première version

# Core system apps removal examples:
Get-AppxPackage -AllUsers | ? { $_.Name -match "windowsalarms" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "windowscommunicationsapps" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "windowscamera" } | Remove-AppxPackage -AllUsers
# Get-AppxPackage -AllUsers | ? { $_.Name -match "windowsCalculator" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "officehub" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "getstarted" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "zunemusic" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "windowsmaps" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "solitairecollection" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "zunevideo" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "bingnews" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.People" } | Remove-AppxPackage -AllUsers
# Get-AppxPackage -AllUsers | ? { $_.Name -match "photos" } | Remove-AppxPackage -AllUsers
# Get-AppxPackage -AllUsers | ? { $_.Name -match "windowsstore" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "soundrecorder" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "bingweather" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.MicrosoftOfficeHub" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.WindowsFeedbackHub" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "YourPhone" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.XboxGamingOverlay" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "gethelp" } | Remove-AppxPackage -AllUsers

# Additional package names (explicit matches)
Get-AppxPackage -AllUsers *WINDOWSMAPS* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.BINGNEWS* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFTCORPORATIONII.QUICKASSIST* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.GETSTARTED* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.ZUNEVIDEO* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.WINDOWSFEEDBACKHUB* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.ZUNEMUSIC* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *RIVETNETWORKS.KILLERCONTROLCENTER* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.TODOS* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *CLIPCHAMP.CLIPCHAMP* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.WIDGETSPLATFORMRUNTIME* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.MICROSOFTSOLITAIRECOLLECTION* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.GETHELP* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.BINGWEATHER* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.COPILOT* | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *MICROSOFT.OUTLOOKFORWINDOWS* | Remove-AppxPackage -AllUsers

# Xbox-related apps
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.Xbox.TCUI" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.XboxGameOverlay" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.XboxIdentityProvider" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "Microsoft.XboxSpeechToTextOverlay" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers | ? { $_.Name -match "xbox" } | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers *Microsoft.GamingApp* | Remove-AppxPackage -AllUsers
foreach ($app in (Get-AppxPackage -AllUsers | ? { $_.Name -match "xbox" })) { $app | Remove-AppxPackage -AllUsers }

Vous pouvez personnaliser ce script en commentant les lignes correspondant aux applications que vous souhaitez conserver. Une fois le fichier enregistré, nous pourrons configurer une tâche planifiée pour l’exécuter automatiquement à chaque ouverture de session utilisateur.

Tâche planifiée

Dans cette section, vous allez apprendre à créer une nouvelle tâche planifiée qui exécute automatiquement votre script PowerShell à chaque ouverture de session. Cela garantit que les WinApps indésirables sont supprimées à chaque connexion d’un utilisateur sous Windows.

  • Commencez par ouvrir le Planificateur de tâches de Windows :
Fenêtre Exécuter affichant la commande taskschd.msc pour ouvrir le Planificateur de tâches de Windows
Appuyez sur Windows + R pour ouvrir la boîte de dialogue Exécuter, puis tapez taskschd.msc et cliquez sur OK pour lancer le Planificateur de tâches Windows.
  • Créez une nouvelle tâche dans le Planificateur de tâches de Windows :
Fenêtre du Planificateur de tâches Windows montrant l’option Créer une tâche sélectionnée pour automatiser la suppression des WinApps avec PowerShell.
Dans le Planificateur de tâches, faites un clic droit sur Planificateur de tâches (Local) puis sélectionnez Créer une tâche....
  • Donnez un nom à la tâche, par exemple RemoveWinapps.
  • Cliquez sur Changer d’utilisateur ou de groupe... et définissez l’utilisateur sur SYSTEM afin que la tâche s’exécute avec des privilèges élevés.
  • Sélectionnez Exécuter uniquement lorsque l’utilisateur est connecté pour garantir que le script s’exécute à chaque session.
  • Cochez l’option Masqué pour rendre la tâche invisible aux utilisateurs standard.
  • Dans la liste déroulante Configurer pour, choisissez Windows 10 ou la version correspondante de votre système.
Capture d’écran du Planificateur de tâches Windows montrant la configuration de la tâche RemoveWinapps dans l’onglet Général.
Dans l’onglet Général, nommez la tâche RemoveWinapps, définissez l’utilisateur sur SYSTEM, sélectionnez Exécuter uniquement lorsque l’utilisateur est connecté et cochez Masqué pour une configuration plus propre.
  • Allez dans l’onglet Déclencheurs et cliquez sur Nouveau....
  • Dans la liste déroulante Commencer la tâche, sélectionnez À l’ouverture de session.
  • Choisissez N’importe quel utilisateur afin que le script s’exécute pour tous les comptes lors de la connexion.
  • Laissez les autres options par défaut, puis cliquez sur OK pour valider le déclencheur.
Capture d’écran du Planificateur de tâches Windows montrant la création d’un déclencheur défini sur À l’ouverture de session pour tout utilisateur.
Dans l’onglet Déclencheurs, cliquez sur Nouveau..., définissez Commencer la tâche sur À l’ouverture de session et choisissez N’importe quel utilisateur pour exécuter automatiquement le script de suppression des WinApps à chaque connexion.
  • Ouvrez l’onglet Actions et cliquez sur Nouveau....
  • Dans la liste déroulante Action, sélectionnez Démarrer un programme.
  • Dans le champ Programme/script, saisissez powershell.exe.
  • Dans le champ Ajouter des arguments (facultatif), entrez :
    -Noninteractive -Noprofile -ExecutionPolicy bypass -Command "& 'C:\ProgramData\Scripts\remove_winapps.ps1'"
  • Cliquez sur OK pour valider l’action.
Capture d’écran du Planificateur de tâches Windows montrant la configuration d’une action PowerShell pour lancer le script remove_winapps.ps1.
Dans l’onglet Actions, cliquez sur Nouveau..., choisissez Démarrer un programme, indiquez powershell.exe comme programme, puis ajoutez l’argument -Noninteractive -Noprofile -ExecutionPolicy bypass -Command "& 'C:\ProgramData\Scripts\remove_winapps.ps1'" pour exécuter automatiquement le script à l’ouverture de session.

Déconnectez-vous puis reconnectez-vous. Vous devriez maintenant avoir un menu Démarrer Windows beaucoup plus épuré !

Capture d’écran du menu Démarrer Windows affichant moins d’applications préinstallées après l’exécution du script PowerShell remove_winapps.
Après vous être reconnecté, le menu Démarrer devrait être nettement plus propre, avec beaucoup moins d’applications préinstallées visibles.

Aller plus loin

💡 Astuce : Pour aller plus loin, découvrez comment déployer cette tâche via les stratégies de groupe (GPO) ou renforcer la sécurité en signant votre script PowerShell.