ANAVEM
Languageen
Windows Event Viewer showing system event logs on a monitoring dashboard
Event ID 1074InformationUser32Windows

ID d'événement Windows 1074 – User32 : Redémarrage ou arrêt du système initié

L'ID d'événement 1074 enregistre lorsqu'un redémarrage ou un arrêt du système est initié par un utilisateur ou une application. Cet événement informatif suit qui a initié l'action et le code de raison.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 20268 min de lecture 0
Event ID 1074User32 5 méthodes 8 min
Référence événement

Signification de cet événement

L'ID d'événement 1074 sert de principal mécanisme de Windows pour enregistrer les activités d'arrêt et de redémarrage. Le sous-système User32 génère cet événement aux premiers stades du processus d'arrêt, garantissant que l'information est capturée même si le système rencontre des problèmes lors de la séquence d'arrêt réelle.

La structure de l'événement comprend plusieurs champs clés qui fournissent un contexte complet. Le champ utilisateur identifie le compte qui a initié l'action, qui peut être un utilisateur local, un compte de domaine ou un service système. Le champ processus montre quel exécutable a déclenché l'arrêt, tel que shutdown.exe, winlogon.exe, ou une application tierce. Le code de raison suit la taxonomie standardisée des raisons d'arrêt de Microsoft, catégorisant l'arrêt comme planifié ou non planifié et fournissant des catégories de raisons spécifiques comme la maintenance matérielle, l'installation de logiciels ou la défaillance du système.

Dans les environnements d'entreprise, l'ID d'événement 1074 devient crucial pour les rapports de conformité et la gestion des changements. De nombreuses organisations exigent la documentation de tous les redémarrages système, en particulier pour les serveurs critiques. Le format cohérent de l'événement et sa génération fiable le rendent idéal pour les solutions de surveillance automatisée et l'intégration SIEM. Les équipes de sécurité surveillent également ces événements pour détecter d'éventuels accès non autorisés ou des activités malveillantes qui pourraient impliquer des redémarrages système pour couvrir des traces ou compléter l'installation de logiciels malveillants.

Le moment de l'ID d'événement 1074 est significatif – il apparaît avant que l'arrêt réel ne commence, ce qui signifie que l'événement sera enregistré même si le processus d'arrêt échoue ou est interrompu. Cette fiabilité le rend supérieur à d'autres événements liés à l'arrêt qui pourraient ne pas apparaître si le système rencontre des problèmes lors de la séquence d'arrêt.

S'applique à

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

Causes possibles

  • Arrêt ou redémarrage initié par l'utilisateur via le menu Démarrer, Alt+F4, ou la commande shutdown
  • Mises à jour automatiques de Windows nécessitant un redémarrage du système
  • Installations ou désinstallations de logiciels nécessitant un redémarrage
  • Arrêts forcés par la stratégie de groupe ou fenêtres de maintenance planifiées
  • Applications tierces demandant un redémarrage du système (antivirus, pilotes, etc.)
  • Commandes d'arrêt à distance exécutées via RDP, PowerShell, ou outils d'administration
  • Services ou processus système appelant les API d'arrêt de manière programmatique
  • Arrêts liés au matériel initiés par la gestion de l'alimentation ou la protection thermique
Méthodes de résolution

Étapes de dépannage

01

Vérifier le Visualiseur d'événements pour les détails de l'arrêt

Accédez à l'Observateur d'événements pour examiner les détails spécifiques des occurrences de l'ID d'événement 1074.

  1. Appuyez sur Windows + R, tapez eventvwr.msc, et appuyez sur Entrée
  2. Accédez à Journaux WindowsSystème
  3. Dans le volet Actions, cliquez sur Filtrer le journal actuel
  4. Entrez 1074 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur n'importe quelle entrée d'ID d'événement 1074 pour voir les détails
  6. Examinez l'onglet Général pour les informations sur l'utilisateur, le processus et la raison
  7. Vérifiez l'onglet Détails pour les données XML brutes incluant les codes de raison

La description de l'événement affichera le format : "Le processus [processus] a initié le [redémarrage/arrêt] de l'ordinateur [ordinateur] pour le compte de l'utilisateur [domaine\utilisateur] pour la raison suivante : [raison]"

Astuce pro : Recherchez des motifs dans le champ Processus - des arrêts fréquents de la même application pourraient indiquer des problèmes logiciels.
02

Utiliser PowerShell pour interroger les événements d'arrêt

PowerShell offre des capacités de filtrage puissantes pour analyser les modèles d'arrêt et extraire des informations spécifiques à partir de l'ID d'événement 1074.

  1. Ouvrir PowerShell en tant qu'administrateur
  2. Interroger les événements d'arrêt récents :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 20 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
  1. Filtrer par utilisateur spécifique ou plage de temps :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074; StartTime=(Get-Date).AddDays(-7)} | Where-Object {$_.Message -like "*username*"}
  1. Extraire des données structurées des événements :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 10 | ForEach-Object {
    $xml = [xml]$_.ToXml()
    [PSCustomObject]@{
        TimeCreated = $_.TimeCreated
        User = $xml.Event.EventData.Data[6].'#text'
        Process = $xml.Event.EventData.Data[0].'#text'
        Reason = $xml.Event.EventData.Data[2].'#text'
        ReasonCode = $xml.Event.EventData.Data[3].'#text'
    }
}
Astuce pro : Exporter les résultats en CSV pour analyse : | Export-Csv -Path "C:\temp\shutdowns.csv" -NoTypeInformation
03

Analyser les codes de raison d'arrêt

Comprendre les codes de raison d'arrêt aide à identifier la cause principale des redémarrages du système et à les catégoriser de manière appropriée.

  1. Extraire les codes de raison des événements récents :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 50 | ForEach-Object {
    $xml = [xml]$_.ToXml()
    $reasonCode = $xml.Event.EventData.Data[3].'#text'
    $reasonText = $xml.Event.EventData.Data[2].'#text'
    "$($_.TimeCreated): Code $reasonCode - $reasonText"
} | Group-Object | Sort-Object Count -Descending
  1. Codes de raison courants à examiner :
  • 0x80020002 : Arrêt inattendu (crash système ou perte de courant)
  • 0x80020010 : Arrêt planifié pour maintenance matérielle
  • 0x80020003 : Arrêt planifié pour installation logicielle
  • 0x500ff : Redémarrage automatique de Windows Update
  • 0x80000000 : Arrêt initié par l'utilisateur sans raison spécifique
  1. Vérifier spécifiquement les arrêts non planifiés :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} | Where-Object {
    $xml = [xml]$_.ToXml()
    $reasonCode = $xml.Event.EventData.Data[3].'#text'
    $reasonCode -match "0x8002000[2-9]|0x8004000[0-9]"
} | Format-Table TimeCreated, Message -Wrap
Avertissement : Les arrêts non planifiés fréquents (codes de raison commençant par 0x8002) peuvent indiquer des problèmes matériels ou une instabilité du système.
04

Configurer le suivi avancé de l'arrêt

Activez le suivi amélioré de l'arrêt via les paramètres de stratégie de groupe ou du registre pour capturer des informations plus détaillées sur les événements d'arrêt.

  1. Ouvrez l'Éditeur de stratégie de groupe (gpedit.msc) ou l'Éditeur du registre pour une configuration manuelle
  2. Accédez au chemin de la stratégie de groupe :

Configuration de l'ordinateurModèles d'administrationSystèmeOptions d'arrêt

  1. Activez la stratégie "Afficher le suivi des événements d'arrêt"
  2. Pour la configuration du registre, modifiez :
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Reliability" -Name "ShutdownReasonUI" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Reliability" -Name "ShutdownReasonOn" -Value 1 -Type DWord
  1. Configurez le suivi des raisons d'arrêt pour les serveurs :
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability" -Name "ShutdownReasonUI" -Value 1 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability" -Name "ShutdownReasonOn" -Value 1 -PropertyType DWord -Force
  1. Redémarrez le système pour que les modifications prennent effet
  2. Vérifiez la configuration en vérifiant que les boîtes de dialogue d'arrêt demandent maintenant la sélection d'une raison
Astuce pro : Dans les environnements d'entreprise, combinez cela avec des scripts d'arrêt personnalisés qui enregistrent un contexte supplémentaire dans des systèmes de journalisation centralisés.
05

Mettre en œuvre la surveillance et l'alerte automatisées

Configurez une surveillance automatisée pour suivre les modèles d'arrêt et alerter sur les activités de redémarrage suspectes ou inattendues.

  1. Créez un script PowerShell pour une surveillance continue :
# Enregistrer sous Monitor-Shutdowns.ps1
$lastCheck = (Get-Date).AddHours(-1)
$events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074; StartTime=$lastCheck}

foreach ($event in $events) {
    $xml = [xml]$event.ToXml()
    $user = $xml.Event.EventData.Data[6].'#text'
    $process = $xml.Event.EventData.Data[0].'#text'
    $reasonCode = $xml.Event.EventData.Data[3].'#text'
    
    # Alerter sur les arrêts inattendus
    if ($reasonCode -match "0x80020002|0x80040000") {
        Write-EventLog -LogName Application -Source "ShutdownMonitor" -EventId 9001 -EntryType Warning -Message "Arrêt inattendu détecté : Utilisateur=$user, Processus=$process, Raison=$reasonCode"
        # Envoyer un email ou une alerte SIEM ici
    }
}
  1. Créez une tâche planifiée pour exécuter le script de surveillance :
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\Monitor-Shutdowns.ps1"
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Hours 1)
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount
Register-ScheduledTask -TaskName "ShutdownMonitoring" -Action $action -Trigger $trigger -Principal $principal
  1. Configurez le transfert d'événements Windows pour une collecte centralisée :
# Sur le serveur collecteur
wecutil qc /q
# Sur les ordinateurs sources
winrm qc /q
wecutil cs subscription.xml
  1. Configurez une source de journal d'événements personnalisée pour les alertes de surveillance :
New-EventLog -LogName Application -Source "ShutdownMonitor"
Avertissement : Assurez-vous que les scripts de surveillance ont les autorisations appropriées et une gestion des erreurs pour éviter les faux positifs ou les événements manqués.

Aperçu

L'ID d'événement 1074 de la source User32 se déclenche chaque fois que Windows initie une séquence de redémarrage ou d'arrêt du système. Cet événement capture des informations critiques sur qui ou quoi a déclenché l'action, ce qui le rend inestimable pour les administrateurs système suivant des redémarrages inattendus ou enquêtant sur des exigences de conformité.

L'événement apparaît dans le journal Système immédiatement lorsque le processus d'arrêt ou de redémarrage commence, avant que le système ne s'éteigne réellement. Il enregistre le compte utilisateur, le nom du processus, le code de raison et le commentaire si fourni. Cela le rend essentiel pour l'analyse judiciaire, surtout dans les environnements où les redémarrages non planifiés peuvent indiquer des problèmes matériels, des conflits logiciels ou des incidents de sécurité.

Contrairement à d'autres événements liés à l'arrêt qui peuvent apparaître sporadiquement, l'ID d'événement 1074 se déclenche systématiquement pour chaque arrêt ou redémarrage planifié. L'événement fournit des données structurées incluant le type d'arrêt (redémarrage vs arrêt), s'il était planifié ou non, et la catégorie de raison spécifique. Les administrateurs système comptent sur cet événement pour différencier les actions initiées par l'utilisateur, les mises à jour automatiques et les redémarrages forcés par le système en raison d'erreurs critiques.

Questions Fréquentes

Que signifie l'ID d'événement 1074 et quand apparaît-il ?+
L'ID d'événement 1074 est généré par le sous-système User32 chaque fois qu'un arrêt ou un redémarrage du système est initié. Il apparaît immédiatement lorsque le processus d'arrêt commence, avant que le système ne s'éteigne réellement. L'événement capture qui a initié l'action, quel processus l'a déclenchée, et le code de raison. Cela le rend essentiel pour suivre les redémarrages planifiés et non planifiés du système, fournissant aux administrateurs une piste d'audit complète des activités d'arrêt.
Comment puis-je savoir si un arrêt était planifié ou non planifié à partir de l'ID d'événement 1074 ?+
Le code de raison dans l'ID d'événement 1074 indique si un arrêt était planifié ou non planifié. Les arrêts planifiés ont généralement des codes de raison comme 0x80020010 (maintenance matérielle) ou 0x80020003 (installation de logiciel). Les arrêts non planifiés affichent des codes comme 0x80020002 (arrêt inattendu) ou 0x80040000 (défaillance système). Vous pouvez extraire cette information en utilisant PowerShell pour analyser les données XML dans l'événement, en regardant spécifiquement EventData.Data[3] qui contient le code de raison.
Pourquoi vois-je plusieurs entrées d'ID d'événement 1074 pour un seul arrêt ?+
Plusieurs entrées d'ID d'événement 1074 pour un seul arrêt se produisent généralement lorsque différents processus ou services initient des séquences d'arrêt. Par exemple, vous pourriez voir une entrée d'un utilisateur cliquant sur arrêt, suivie d'une autre de winlogon.exe lorsqu'il traite la demande d'arrêt. De plus, certaines applications ou services peuvent appeler des API d'arrêt indépendamment pendant le processus d'arrêt. Chaque entrée représente une initiation d'arrêt distincte, même si elles font partie de la même séquence d'arrêt globale.
L'ID d'événement 1074 peut-il aider à identifier les redémarrages système non autorisés ?+
Oui, l'ID d'événement 1074 est excellent pour identifier les redémarrages non autorisés. L'événement enregistre le compte utilisateur et le processus qui a initié l'arrêt, ce qui facilite la détection d'activités suspectes. Recherchez les arrêts initiés par des comptes utilisateurs inattendus, surtout en dehors des heures de travail, ou par des processus inhabituels. Les arrêts à distance afficheront le compte utilisé pour la connexion à distance. Combinez cela avec les événements de connexion (ID d'événement 4624) pour obtenir une vue complète de qui a accédé au système avant d'initier le redémarrage.
Comment configurer Windows pour exiger des raisons d'arrêt afin d'améliorer le suivi de l'ID d'événement 1074 ?+
Activez le Suivi des événements d'arrêt via la stratégie de groupe ou les paramètres du registre. Dans la stratégie de groupe, accédez à Configuration de l'ordinateur → Modèles d'administration → Système → Options d'arrêt et activez 'Afficher le Suivi des événements d'arrêt'. Pour la configuration du registre, définissez ShutdownReasonUI et ShutdownReasonOn sur 1 dans HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Reliability. Cela oblige les utilisateurs à sélectionner une catégorie de raison lors de l'arrêt, fournissant des informations plus détaillées dans les entrées de l'ID d'événement 1074 et améliorant les capacités d'audit.
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.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...