ANAVEM
Languageen
Comment réparer le menu Démarrer non réactif sur Windows Server RDS

Comment réparer le menu Démarrer non réactif sur Windows Server RDS

Diagnostiquer et résoudre définitivement les problèmes de menu Démarrer dans les environnements Windows Server RDS en nettoyant les entrées de registre de pare-feu corrompues et en réparant l'intégrité du système.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
15 mars 2026 15 min 7
mediumwindows-server 7 étapes 15 min

Pourquoi le menu Démarrer devient-il non réactif dans Windows Server RDS ?

Le problème du menu Démarrer non réactif dans les environnements Windows Server RDS est un problème persistant qui affecte principalement les fermes RDS de Windows Server 2022 et 2019. Ce problème provient de l'encombrement du registre causé par l'accumulation de règles du pare-feu Windows Defender, en particulier celles liées au Microsoft Store et aux applications APPX. Au fil du temps, ces règles de pare-feu se multiplient de manière exponentielle, créant des milliers d'entrées en double qui submergent la capacité du système à traiter efficacement les demandes du menu Démarrer.

Qu'est-ce qui cause les erreurs DCOM liées aux composants du menu Démarrer ?

La cause principale implique des erreurs DCOM (ID d'événement 10001) liées aux processus StartMenuExperienceHost.exe et ShellExperienceHost. Ces composants critiques de l'interface Windows échouent à s'initialiser correctement lorsque le système a du mal à analyser les entrées de registre de la politique de pare-feu encombrées. Les disques de profil utilisateur (UPD) dans les environnements RDS aggravent ce problème en préservant les paramètres utilisateur corrompus d'une session à l'autre.

Comment le nettoyage du registre résout-il définitivement les problèmes du menu Démarrer ?

Bien que des solutions temporaires comme la réinscription des packages APPX apportent un soulagement immédiat, elles ne traitent pas la corruption sous-jacente du registre. La solution permanente consiste à supprimer chirurgicalement les entrées de registre de pare-feu corrompues tout en préservant les règles système essentielles. Ce tutoriel vous guide à travers le processus complet : de la création de sauvegardes appropriées et de l'application de correctifs temporaires à la mise en œuvre d'un nettoyage permanent du registre et à l'établissement de mesures de prévention. Vous apprendrez à identifier les emplacements spécifiques du registre causant des problèmes, à les nettoyer en toute sécurité sans compromettre la sécurité du système, et à mettre en place une surveillance pour prévenir les occurrences futures.

Guide de mise en oeuvre

Procédure complète

01

Créer une sauvegarde du registre et évaluer le problème

Avant d'apporter des modifications, créez une sauvegarde complète du registre de la politique de pare-feu. Ce problème de menu Démarrer non réactif provient généralement de règles corrompues du Pare-feu Windows Defender qui s'accumulent au fil du temps, surtout dans les environnements RDS avec des disques de profil utilisateur.

reg export "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy" C:\FirewallPolicy_backup.reg

Vérifiez le Visualiseur d'événements pour les erreurs DCOM qui confirment le problème :

Get-EventLog -LogName System -Source "DistributedCOM" -Newest 50 | Where-Object {$_.Message -like "*ShellExperienceHost*"}

Recherchez les erreurs d'ID d'événement 10001 liées aux processus StartMenuExperienceHost.exe ou ShellExperienceHost. Celles-ci indiquent que les composants du menu Démarrer ne parviennent pas à s'initialiser correctement.

Astuce pro : Enregistrez le fichier de sauvegarde sur un emplacement réseau ou un disque externe. Si quelque chose tourne mal, vous pouvez restaurer avec reg import C:\FirewallPolicy_backup.reg

Vérification : Confirmez que le fichier de sauvegarde existe et qu'il est supérieur à 1 Mo, indiquant qu'il a capturé la politique de pare-feu complète.

02

Appliquer une correction temporaire avec la réinscription du package APPX

Cette étape fournit un soulagement immédiat en réenregistrant toutes les applications du Windows Store, ce qui résout souvent temporairement l'accès au menu Démarrer. Exécutez cette commande dans une session PowerShell avec élévation de privilèges :

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Le processus prendra 3 à 5 minutes et peut afficher des messages d'erreur rouges pour les packages système - c'est normal. Attendez la fin avant de continuer.

Redémarrez l'hôte RDS affecté ou redémarrez les processus clés :

Get-Process -Name "ShellExperienceHost" -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process -Name "StartMenuExperienceHost" -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process -Name "explorer" | Stop-Process -Force; Start-Process "explorer.exe"
Avertissement : Ceci n'est qu'une solution temporaire. Le menu Démarrer deviendra à nouveau non réactif dans quelques heures ou jours à moins que vous ne complétiez le nettoyage permanent du registre dans les étapes suivantes.

Vérification : Testez le menu Démarrer en appuyant sur la touche Windows et en recherchant "notepad". La recherche devrait fonctionner et renvoyer des résultats.

03

Nettoyer les entrées de registre de pare-feu corrompues

C'est la solution permanente qui traite la cause profonde. Ouvrez l'Éditeur du Registre en tant qu'administrateur et accédez aux emplacements de la politique de pare-feu. Le problème survient parce que des milliers de règles de pare-feu APPX en double s'accumulent au fil du temps, provoquant un gonflement du registre.

Accédez à ces chemins de registre et supprimez les entrées corrompues :

HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

Dans la clé FirewallRules, vous verrez des milliers d'entrées. Supprimez uniquement les entrées liées à APPX et MSIX (elles ont généralement de longs GUID et contiennent "APPX" ou "MSIX" dans leurs noms). Conservez toutes les entrées qui ressemblent à des règles de pare-feu Windows standard.

Pour le chemin RestrictedServices\AppIso\FirewallRules, vous pouvez supprimer en toute sécurité toutes les sous-clés car elles sont régénérées automatiquement.

Avertissement : Ce processus prend 5 à 15 minutes et l'Éditeur du Registre peut sembler figé. N'interrompez pas le processus de suppression. Attendez 2 à 3 minutes après la fin avant de tester.

Méthode alternative PowerShell pour la suppression en masse :

$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules"
Get-ChildItem $regPath | Remove-Item -Recurse -Force

Vérification : Vérifiez que les clés de registre sont nettement plus petites. La clé FirewallRules devrait avoir des dizaines, et non des milliers d'entrées.

04

Réparer l'intégrité du système et les composants

Après avoir nettoyé le registre, réparez tous les fichiers système corrompus et les composants Windows. Exécutez ces commandes DISM et SFC dans l'ordre :

DISM.exe /Online /Cleanup-Image /ScanHealth

Attendez la fin de l'analyse, puis restaurez les problèmes trouvés :

DISM.exe /Online /Cleanup-Image /RestoreHealth

Exécutez le Vérificateur de fichiers système pour réparer les fichiers système corrompus :

sfc /scannow

Nettoyez le magasin de composants pour supprimer les fichiers orphelins :

DISM.exe /Online /Cleanup-Image /StartComponentCleanup

Si une corruption a été trouvée et réparée, réexécutez l'enregistrement du package APPX :

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
Astuce pro : Exécutez ces commandes pendant les fenêtres de maintenance car elles peuvent prendre 10 à 30 minutes chacune et peuvent temporairement affecter les performances du système.

Vérification : Toutes les commandes doivent s'exécuter sans erreurs. Vérifiez les codes de sortie - 0 indique un succès, toute autre valeur indique des problèmes nécessitant une enquête.

05

Redémarrer les services et processus critiques

Redémarrez le service de recherche Windows et les processus de shell pour vous assurer que tous les changements prennent effet :

Restart-Service -Name "WSearch" -Force

Arrêtez et redémarrez les processus d'expérience de shell :

Get-Process -Name "ShellExperienceHost" -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process -Name "StartMenuExperienceHost" -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process -Name "SearchUI" -ErrorAction SilentlyContinue | Stop-Process -Force

Redémarrez l'Explorateur Windows pour rafraîchir le shell :

Get-Process -Name "explorer" | Stop-Process -Force
Start-Sleep -Seconds 3
Start-Process "explorer.exe"

Pour les environnements RDS, vous devrez peut-être également redémarrer les services de bureau à distance :

Restart-Service -Name "TermService" -Force
Avertissement : Le redémarrage de TermService déconnectera toutes les sessions RDS actives. Planifiez cela pendant les fenêtres de maintenance ou informez les utilisateurs à l'avance.

Vérification : Vérifiez que tous les services sont en cours d'exécution et que les processus ont redémarré avec de nouveaux IDs de processus en utilisant les commandes Get-Process et Get-Service.

06

Vérifier la correction et tester la fonctionnalité du menu Démarrer

Effectuez des tests complets pour vous assurer que le menu Démarrer est entièrement fonctionnel :

Get-StartApps | Select-Object Name, AppID | Format-Table -AutoSize

Cette commande doit renvoyer une liste de toutes les applications du menu Démarrer sans erreurs. Testez le menu Démarrer de manière interactive :

1. Appuyez sur la touche Windows - le menu Démarrer doit s'ouvrir immédiatement
2. Tapez "notepad" - les résultats de la recherche doivent apparaître rapidement
3. Cliquez sur différentes tuiles et applications
4. Testez les options d'alimentation (arrêt, redémarrage, déconnexion)

Vérifiez s'il reste des erreurs DCOM :

Get-EventLog -LogName System -Source "DistributedCOM" -After (Get-Date).AddHours(-1) | Where-Object {$_.Message -like "*ShellExperienceHost*"}

Surveillez les performances du système et la taille du registre :

Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" | Measure-Object
Astuce pro : Créez une tâche planifiée pour surveiller la taille du registre chaque semaine. Si la clé FirewallRules dépasse 1000 entrées, planifiez un autre nettoyage avant que les utilisateurs ne rencontrent des problèmes.

Testez avec plusieurs comptes d'utilisateurs, en particulier dans les environnements RDS où les disques de profil utilisateur peuvent causer des problèmes spécifiques aux utilisateurs.

Vérification : le menu Démarrer doit répondre en 1 à 2 secondes, la recherche doit renvoyer des résultats immédiatement, et aucune nouvelle erreur DCOM ne doit apparaître dans le Visualiseur d'événements.

07

Mettre en œuvre des mesures de prévention et de surveillance

Configurez la stratégie de groupe pour éviter l'accumulation future de règles de pare-feu. Créez ou modifiez un GPO avec des règles de pare-feu essentielles pour éviter le verrouillage après les nettoyages futurs :

gpupdate /force

Créez un script PowerShell pour la surveillance et la maintenance régulières :

# Enregistrez sous Monitor-StartMenu.ps1
$firewallRules = Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules"
$ruleCount = ($firewallRules | Get-Member -MemberType NoteProperty).Count

if ($ruleCount -gt 1000) {
    Write-Warning "Nombre de règles de pare-feu : $ruleCount - Nettoyage recommandé"
    # Envoyer une alerte ou enregistrer dans le journal des événements
    Write-EventLog -LogName Application -Source "StartMenu Monitor" -EventId 1001 -Message "Nombre élevé de règles de pare-feu détecté : $ruleCount"
}

Planifiez ce script pour s'exécuter chaque semaine via le Planificateur de tâches :

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\Monitor-StartMenu.ps1"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 6AM
Register-ScheduledTask -TaskName "StartMenu Health Check" -Action $action -Trigger $trigger -RunLevel Highest

Pour les fermes RDS, envisagez de mettre en œuvre des procédures de nettoyage de disque de profil utilisateur et de limiter les installations d'applications Microsoft Store qui contribuent à l'encombrement des règles de pare-feu.

Astuce pro : Documentez cette procédure et formez votre équipe. Gardez le script de sauvegarde du registre à portée de main et envisagez d'automatiser le processus de nettoyage pour les grands déploiements RDS.

Vérification : Confirmez que la tâche planifiée est créée et que le script de surveillance s'exécute sans erreurs. Testez l'application du GPO avec gpresult /r.

Questions Fréquentes

Pourquoi le menu Démarrer cesse-t-il de fonctionner uniquement dans les environnements RDS de Windows Server ?+
Les environnements RDS sont particulièrement vulnérables car les disques de profil utilisateur conservent les règles de pare-feu corrompues d'une session à l'autre, et plusieurs utilisateurs accédant aux applications du Microsoft Store créent une accumulation exponentielle de règles de pare-feu. La nature partagée des hôtes RDS signifie que le gonflement du registre affecte tous les utilisateurs simultanément, contrairement aux serveurs autonomes où le problème pourrait être isolé à des profils individuels.
Combien de temps dure le processus de nettoyage du registre et cela affectera-t-il les utilisateurs actifs ?+
Le nettoyage du registre prend généralement 5 à 15 minutes par serveur, pendant lequel l'Éditeur du Registre peut sembler figé. Les sessions RDS actives ne seront pas immédiatement affectées, mais vous devriez planifier le redémarrage de TermService pendant les fenêtres de maintenance car cela déconnecte tous les utilisateurs. La réinscription temporaire d'APPX offre un soulagement immédiat pendant que vous planifiez la solution permanente.
Quelle est la différence entre les correctifs temporaires et permanents pour les problèmes du menu Démarrer ?+
Des correctifs temporaires comme la réinscription du package APPX restaurent la fonctionnalité du menu Démarrer en quelques minutes, mais le problème réapparaît car les règles du pare-feu continuent de s'accumuler. Les correctifs permanents impliquent de nettoyer les entrées de registre corrompues à leur source, empêchant les occurrences futures. Le correctif temporaire vous donne le temps de planifier et d'exécuter correctement la solution permanente.
Puis-je automatiser le processus de correction du menu Démarrer pour de grandes fermes RDS ?+
Oui, vous pouvez script les processus de nettoyage et de surveillance en utilisant PowerShell. Créez des tâches planifiées pour surveiller le nombre de règles de pare-feu et déclencher automatiquement les nettoyages lorsque les seuils sont dépassés. Cependant, maintenez toujours une supervision manuelle pour les opérations de registre et assurez-vous d'avoir des sauvegardes appropriées avant d'exécuter des nettoyages automatisés.
Comment puis-je empêcher les problèmes du menu Démarrer de réapparaître après la correction ?+
Implémentez la stratégie de groupe pour contrôler les règles du pare-feu, limiter les installations d'applications du Microsoft Store dans les environnements RDS, et configurer une surveillance hebdomadaire de la taille du registre. Créez des tâches planifiées pour suivre le nombre de règles du pare-feu et établissez des procédures de maintenance pour le nettoyage des disques de profil utilisateur. Une surveillance régulière empêche l'encombrement du registre d'atteindre à nouveau des niveaux critiques.
Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...