ANAVEM
Languageen
Windows Services console and Event Viewer displaying service monitoring and system event logs
Event ID 7031ErrorService Control ManagerWindows

ID d'événement Windows 7031 – Gestionnaire de contrôle des services : Service terminé de manière inattendue

L'ID d'événement 7031 indique qu'un service Windows s'est terminé de manière inattendue et sera redémarré. Cet événement critique aide à identifier les problèmes de stabilité du service et les problèmes potentiels du système.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 7031Service Control Manager 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 7031 représente l'un des événements les plus importants liés aux services dans la journalisation des événements Windows. Lorsqu'un service se termine de manière inattendue, le Gestionnaire de contrôle des services enregistre immédiatement cet événement avec des informations détaillées sur l'échec. L'événement inclut le nom du service, l'ID de processus, le code de sortie et l'action de récupération en cours.

Le Gestionnaire de contrôle des services maintient des politiques de récupération pour chaque service, généralement configurées pour redémarrer automatiquement le service après une terminaison inattendue. Ces politiques peuvent inclure des délais de redémarrage, des compteurs d'échec et des actions d'escalade comme le redémarrage du système ou l'exécution de programmes de récupération. L'événement 7031 documente chaque tentative de récupération, créant une piste d'audit des problèmes de fiabilité des services.

Dans les environnements d'entreprise, des événements 7031 fréquents indiquent souvent des problèmes systémiques nécessitant une attention immédiate. Les services peuvent planter en raison de fuites de mémoire, d'épuisement des ressources, d'échecs de dépendance ou de fichiers système corrompus. Le moment et les modèles de fréquence de l'événement aident les administrateurs à identifier les causes profondes et à mettre en œuvre des correctifs appropriés.

Windows 11 et Server 2025 incluent une intégration de télémétrie améliorée avec l'ID d'événement 7031, offrant une meilleure corrélation avec les compteurs de performance et les métriques de santé du système. Cette intégration aide les administrateurs à comprendre l'impact plus large des échecs de service sur la performance du système et l'expérience utilisateur.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Les applications de service plantent en raison d'exceptions non gérées ou de violations d'accès à la mémoire
  • Épuisement des ressources, y compris les fuites de mémoire, les fuites de poignées ou les problèmes d'espace disque
  • Défaillances des services de dépendance entraînant des terminaisons de service en cascade
  • Fichiers exécutables de service corrompus ou dépendances DLL manquantes
  • Défaillances matérielles affectant la stabilité du système et le fonctionnement du service
  • Interférence des logiciels de sécurité bloquant les opérations de service
  • Corruption du registre affectant la configuration du service ou les paramètres de démarrage
  • Problèmes de connectivité réseau pour les services nécessitant des ressources distantes
  • Conflits de Windows Update lors du remplacement des fichiers de service
  • Conflits de logiciels tiers ou problèmes de compatibilité des pilotes
Méthodes de résolution

Étapes de dépannage

01

Analyser les détails de l'événement dans le Visualiseur d'événements

Commencez par examiner les détails spécifiques de l'ID d'événement 7031 pour identifier le service défaillant et les modèles d'erreur.

  1. Ouvrez Observateur d'événements en appuyant sur Win + R, en tapant eventvwr.msc, et en appuyant sur Entrée
  2. Accédez à Journaux WindowsSystème
  3. Filtrez pour l'ID d'événement 7031 en cliquant avec le bouton droit sur SystèmeFiltrer le journal actuel → Entrez 7031 dans le champ ID d'événements
  4. Double-cliquez sur les événements 7031 récents pour voir les détails, y compris le nom du service, le code de sortie et les actions de redémarrage
  5. Notez la fréquence et les modèles de synchronisation des échecs pour le même service
  6. Vérifiez l'onglet Général pour le nom du service et l'onglet Détails pour les codes de sortie et les paramètres supplémentaires

Utilisez PowerShell pour interroger efficacement plusieurs événements 7031 :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=7031} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -Wrap
Conseil pro : Les codes de sortie dans l'événement 7031 fournissent des informations de diagnostic précieuses. Les codes courants incluent 0xC0000005 (violation d'accès) et 0xC000013A (application terminée par CTRL+C).
02

Vérifier la configuration de récupération du service

Examinez et ajustez les paramètres de récupération du service pour éviter les défaillances en cascade et mettre en œuvre des politiques de redémarrage appropriées.

  1. Ouvrez la console Services en appuyant sur Win + R, en tapant services.msc, et en appuyant sur Entrée
  2. Localisez le service mentionné dans l'ID d'événement 7031 et double-cliquez pour ouvrir les propriétés
  3. Cliquez sur l'onglet Récupération pour voir les actions de défaillance actuelles
  4. Examinez les paramètres de redémarrage : Première défaillance, Deuxième défaillance, et Défaillances ultérieures
  5. Vérifiez les paramètres de délai de redémarrage du service et le minuteur de réinitialisation du compteur de défaillances
  6. Envisagez d'ajuster les actions de récupération en fonction de la criticité du service et des schémas de défaillance

Utilisez PowerShell pour interroger la configuration de récupération du service :

$serviceName = "YourServiceName"
Get-CimInstance -ClassName Win32_Service -Filter "Name='$serviceName'" | Select-Object Name, StartMode, State, ProcessId
sc.exe qfailure $serviceName

Modifiez les paramètres de récupération via PowerShell :

# Définir le service pour redémarrer en cas de défaillance avec un délai de 60 secondes
sc.exe failure "YourServiceName" reset= 86400 actions= restart/60000/restart/60000/restart/60000
Avertissement : Des politiques de redémarrage agressives peuvent masquer des problèmes sous-jacents. Surveillez les ressources système lors de la mise en œuvre de redémarrages automatiques pour les services échouant fréquemment.
03

Enquêter sur les dépendances de service et les ressources système

Analyser les dépendances de service et l'utilisation des ressources système pour identifier les causes profondes des défaillances de service.

  1. Vérifiez les dépendances de service dans la console Services en consultant l'onglet Dépendances du service défaillant
  2. Vérifiez que tous les services de dépendance sont en cours d'exécution et en bonne santé
  3. Surveillez les ressources système pendant les défaillances de service à l'aide de Performance Monitor ou Resource Monitor
  4. Vérifiez la mémoire disponible, l'utilisation du CPU et l'espace disque lorsque les services se terminent
  5. Examinez les journaux d'application et système de Windows pour les erreurs connexes survenant à peu près au même moment
  6. Examinez le répertoire de travail du service et vérifiez les autorisations de fichier

Utilisez PowerShell pour vérifier les dépendances de service :

$serviceName = "YourServiceName"
Get-Service -Name $serviceName -DependentServices
Get-Service -Name $serviceName -RequiredServices

Surveillez les ressources système avec PowerShell :

# Vérifiez l'utilisation de la mémoire
Get-Counter "\Memory\Available MBytes", "\Memory\Committed Bytes" -SampleInterval 5 -MaxSamples 12

# Surveillez l'utilisation des ressources des processus
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name, WorkingSet, CPU

Créez un contrôle de santé système complet :

# Vue d'ensemble de la santé du système
$systemInfo = @{
    'Mémoire libre (GB)' = [math]::Round((Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory/1MB, 2)
    'Utilisation du CPU %' = (Get-Counter "\Processor(_Total)\% Processor Time").CounterSamples.CookedValue
    'Espace disque libre (GB)' = [math]::Round((Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3").FreeSpace/1GB, 2)
}
$systemInfo
04

Analyser l'exécutable de service et la corrélation d'événements

Effectuer une analyse détaillée de l'exécutable du service, des vidages sur incident, et corréler avec d'autres événements système pour identifier les causes spécifiques de défaillance.

  1. Localiser le chemin de l'exécutable du service dans la console Services ou le registre
  2. Vérifier l'intégrité des fichiers en utilisant sfc /scannow et DISM /Online /Cleanup-Image /RestoreHealth
  3. Activer la collecte de vidages sur incident pour le processus de service défaillant
  4. Examiner les rapports de Windows Error Reporting (WER) dans %ProgramData%\Microsoft\Windows\WER\ReportQueue
  5. Corréler l'ID d'événement 7031 avec les événements d'erreur d'application (ID d'événement 1000) et les événements d'erreur système
  6. Vérifier les mises à jour récentes de Windows ou les installations de logiciels pouvant affecter le service

Interroger le chemin de l'exécutable du service et vérifier l'intégrité :

$serviceName = "YourServiceName"
$service = Get-CimInstance -ClassName Win32_Service -Filter "Name='$serviceName'"
$executablePath = $service.PathName -replace '"', '' -split ' ' | Select-Object -First 1
Write-Host "Exécutable du service : $executablePath"

# Vérifier la version du fichier et la signature numérique
Get-ItemProperty $executablePath | Select-Object Name, VersionInfo, LastWriteTime
Get-AuthenticodeSignature $executablePath

Activer la collecte de vidages sur incident :

# Configurer Windows Error Reporting pour les vidages sur incident
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps"
if (!(Test-Path $regPath)) { New-Item -Path $regPath -Force }
Set-ItemProperty -Path $regPath -Name "DumpFolder" -Value "C:\CrashDumps"
Set-ItemProperty -Path $regPath -Name "DumpType" -Value 2  # Vidage complet
Set-ItemProperty -Path $regPath -Name "DumpCount" -Value 5

Corréler les événements à travers plusieurs journaux :

# Trouver les événements liés dans les 5 minutes suivant la défaillance du service
$serviceFailureTime = (Get-WinEvent -FilterHashtable @{LogName='System'; Id=7031} -MaxEvents 1).TimeCreated
$startTime = $serviceFailureTime.AddMinutes(-5)
$endTime = $serviceFailureTime.AddMinutes(5)

Get-WinEvent -FilterHashtable @{LogName='Application','System'; StartTime=$startTime; EndTime=$endTime; Level=1,2,3} | Sort-Object TimeCreated
05

Dépannage avancé avec Process Monitor et analyse du registre

Utilisez des outils de diagnostic avancés pour capturer le comportement détaillé du service et identifier des problèmes complexes de configuration ou de permission.

  1. Téléchargez et exécutez Process Monitor (ProcMon) de Microsoft Sysinternals
  2. Configurez les filtres de ProcMon pour surveiller le nom du processus du service défaillant
  3. Capturez les événements de démarrage et d'échec du service pour identifier les problèmes d'accès aux fichiers, de registre ou de réseau
  4. Analysez la configuration du registre du service sous HKLM\SYSTEM\CurrentControlSet\Services\[ServiceName]
  5. Vérifiez les permissions du compte de service et les paramètres de la politique de sécurité locale
  6. Examinez les journaux Event Tracing for Windows (ETW) pour des diagnostics de service détaillés

Configurez le filtrage de Process Monitor :

# Script PowerShell pour préparer l'analyse ProcMon
$serviceName = "YourServiceName"
$service = Get-Service -Name $serviceName
Write-Host "Surveiller le processus : $($service.ServiceName)"
Write-Host "ID du processus : $($service.Id)" -ForegroundColor Yellow
Write-Host "Configurez ProcMon pour filtrer par nom de processus ou PID" -ForegroundColor Green

Analysez la configuration du registre du service :

# Examiner les paramètres du registre du service
$serviceName = "YourServiceName"
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$serviceName"
if (Test-Path $regPath) {
    Get-ItemProperty $regPath | Format-List
    
    # Vérifiez la sous-clé des paramètres du service
    $paramsPath = "$regPath\Parameters"
    if (Test-Path $paramsPath) {
        Write-Host "Paramètres du service :" -ForegroundColor Cyan
        Get-ItemProperty $paramsPath | Format-List
    }
} else {
    Write-Host "Clé de registre du service non trouvée : $regPath" -ForegroundColor Red
}

Activez la traçabilité ETW pour des diagnostics de service détaillés :

# Activer la traçabilité ETW du Service Control Manager
wevtutil.exe sl Microsoft-Windows-Services/Diagnostic /e:true
wevtutil.exe sl Microsoft-Windows-Services-Svchost/Diagnostic /e:true

# Interroger les événements ETW après l'échec du service
Get-WinEvent -LogName "Microsoft-Windows-Services/Diagnostic" -MaxEvents 20 | Where-Object {$_.Message -like "*$serviceName*"}
Astuce pro : Utilisez Windows Performance Toolkit (WPT) pour une analyse avancée des performances du service. Créez des traces ETW personnalisées pour capturer les goulets d'étranglement au démarrage du service et les problèmes de contention des ressources.
Avertissement : La journalisation diagnostique ETW peut générer un volume de journaux important. Activez-la uniquement pendant le dépannage actif et désactivez-la ensuite pour éviter un impact sur les performances.

Aperçu

L'ID d'événement 7031 se déclenche lorsque le Gestionnaire de contrôle des services (SCM) détecte qu'un service Windows s'est terminé de manière inattendue. Cet événement apparaît dans le journal Système chaque fois qu'un service plante, cesse de répondre ou se termine anormalement sans procédures d'arrêt appropriées. Le SCM tente automatiquement de redémarrer le service en fonction de sa configuration de récupération.

Cet événement est particulièrement important pour les administrateurs système surveillant la fiabilité des services et la stabilité du système. Les services qui génèrent fréquemment des événements 7031 peuvent indiquer des problèmes matériels sous-jacents, des conflits logiciels, des problèmes de mémoire ou des erreurs de configuration. L'événement fournit des détails cruciaux, y compris le nom du service, le code de sortie et les actions de redémarrage prises par le SCM.

Les systèmes Windows modernes en 2026 ont des capacités de surveillance des services améliorées, rendant l'ID d'événement 7031 encore plus précieux pour la maintenance proactive du système. Les services critiques comme Windows Update, BITS et les services de sécurité générant cet événement nécessitent une enquête immédiate pour prévenir l'instabilité du système ou les vulnérabilités de sécurité.

Questions Fréquentes

Que signifie l'ID d'événement 7031 et pourquoi est-il important ?+
L'ID d'événement 7031 indique qu'un service Windows s'est terminé de manière inattendue et que le Gestionnaire de contrôle des services tente de le redémarrer. Cet événement est critique car il signale une instabilité du service pouvant affecter la fonctionnalité du système, la sécurité ou l'expérience utilisateur. Les services qui génèrent fréquemment des événements 7031 peuvent indiquer des problèmes matériels sous-jacents, des conflits logiciels ou des problèmes de configuration nécessitant une enquête immédiate. L'événement fournit des informations de diagnostic essentielles, y compris le nom du service, le code de sortie et les actions de récupération entreprises par le système.
Comment puis-je empêcher les services de générer de manière répétée l'ID d'événement 7031 ?+
Pour prévenir les événements 7031 récurrents, identifiez d'abord la cause profonde par une analyse systématique des détails de l'événement, des ressources système et des dépendances de service. Les solutions courantes incluent la mise à jour du logiciel de service, la correction des fuites de mémoire, la résolution des problèmes de dépendance et l'ajustement des paramètres de récupération du service. Surveillez les ressources système comme l'utilisation de la mémoire et du CPU lors des pannes de service. Vérifiez les mises à jour Windows, les conflits de pilotes ou les installations logicielles récentes qui pourraient affecter la stabilité du service. Configurez des délais de redémarrage appropriés et des seuils d'échec pour éviter les pannes en cascade tout en traitant les problèmes sous-jacents.
Quels sont les codes de sortie les plus courants dans l'ID d'événement 7031 et que signifient-ils ?+
Les codes de sortie courants dans l'événement 7031 incluent : 0xC0000005 (violation d'accès indiquant une corruption de mémoire ou un accès à un pointeur invalide), 0xC000013A (application terminée par CTRL+C ou arrêt du système), 0x80070005 (accès refusé en raison de permissions insuffisantes), et 0xC0000142 (échec de l'initialisation de la DLL). Le code de sortie 0 indique généralement un arrêt propre qui était inattendu par le SCM. Les codes de sortie négatifs représentent souvent des erreurs au niveau du système, tandis que les codes positifs peuvent indiquer des conditions d'erreur spécifiques à l'application. Ces codes aident à déterminer si les échecs sont dus à des permissions, des problèmes de mémoire, des dépendances ou des erreurs de logique d'application.
Dois-je m'inquiéter de l'ID d'événement 7031 pour tous les services ou seulement pour certains spécifiques ?+
La gravité de l'ID d'événement 7031 dépend du service affecté et de la fréquence des échecs. Les services système critiques comme Windows Update (wuauserv), BITS, Windows Defender ou les services d'authentification de domaine nécessitent une attention immédiate lorsqu'ils génèrent des événements 7031. Les services d'applications tierces peuvent être moins critiques mais indiquent tout de même des problèmes de qualité logicielle. Les occurrences uniques lors de l'arrêt du système ou de la maintenance sont souvent normales, mais des échecs répétés pendant le fonctionnement normal nécessitent une enquête. Concentrez-vous sur les services essentiels aux opérations commerciales, à la sécurité ou à la stabilité du système. Surveillez les schémas plutôt que les incidents isolés pour prioriser efficacement les efforts de dépannage.
Comment configurer les paramètres de récupération de service pour gérer correctement l'ID d'événement 7031 ?+
Configurez la récupération du service via la console des Services ou PowerShell en utilisant les commandes sc.exe. Définissez des délais de redémarrage appropriés (généralement 60-120 secondes) pour permettre aux ressources système de se stabiliser entre les tentatives de redémarrage. Configurez les périodes de réinitialisation du compteur d'échecs (généralement 24 heures) pour éviter les boucles de redémarrage indéfinies. Pour les services critiques, utilisez des actions progressives : redémarrage en cas de premier échec, redémarrage en cas de deuxième échec, et redémarrage ou exécution d'un programme de récupération en cas d'échecs ultérieurs. Évitez les redémarrages immédiats qui peuvent masquer les problèmes ou provoquer une épuisement des ressources. Envisagez d'exécuter des programmes ou scripts de récupération pour les services complexes nécessitant des procédures de nettoyage spéciales avant le redémarrage.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

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.

Événements Windows associés

Windows Services management console and Event Viewer displaying service monitoring information on server room monitors
Event 7023
Service Control Manager
Windows EventError

ID d'événement Windows 7023 – Gestionnaire de contrôle des services : Service terminé avec erreur

L'ID d'événement 7023 indique qu'un service Windows s'est terminé de manière inattendue avec un code d'erreur. Cet événement critique nécessite une enquête immédiate pour identifier les services défaillants et prévenir l'instabilité du système.

18 mars12 min
Windows Services management console displaying service status and error indicators on server monitoring dashboard
Event 7023
Service Control Manager
Windows EventError

ID d'événement Windows 7023 – Gestionnaire de contrôle des services : Service terminé avec erreur

L'ID d'événement 7023 indique qu'un service Windows s'est terminé de manière inattendue avec un code d'erreur. Cet événement critique nécessite une enquête immédiate pour identifier les services défaillants et prévenir l'instabilité du système.

18 mars12 min
Windows Services management console displayed on professional monitoring setup in server control room
Event 7000
Service Control Manager
Windows EventError

ID d'événement Windows 7000 – Gestionnaire de contrôle des services : Échec du démarrage du service

L'ID d'événement 7000 indique qu'un service Windows n'a pas pu démarrer lors du démarrage du système ou des tentatives de démarrage manuel. Cette erreur critique nécessite une enquête immédiate pour identifier le service défaillant et la cause sous-jacente.

18 mars12 min
Windows Services management console displaying service status monitoring on server room dashboard
Event 7031
Service Control Manager
Windows EventError

ID d'événement Windows 7031 – Gestionnaire de contrôle des services : Service terminé de manière inattendue

L'ID d'événement 7031 indique qu'un service Windows s'est terminé de manière inattendue et sera redémarré par le Gestionnaire de contrôle des services. Cet événement critique aide à identifier les problèmes de stabilité du service et les problèmes potentiels du système.

18 mars12 min

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...