ANAVEM
Languageen
Windows Event Viewer displaying system time change events on a professional monitoring dashboard
Event ID 5889InformationMicrosoft-Windows-Kernel-GeneralWindows

ID d'événement Windows 5889 – Microsoft-Windows-Kernel-General : Changement de l'heure système détecté

L'ID d'événement 5889 indique que l'heure du système a été modifiée, soit manuellement par un utilisateur, soit automatiquement par des services de synchronisation de l'heure. Cet événement aide à suivre les modifications de l'heure à des fins de sécurité et d'audit.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 5889Microsoft-Windows-Kernel-General 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement Windows 5889 représente un événement d'audit système fondamental qui suit les modifications de l'horloge système. Lorsque Windows détecte un changement d'heure, le fournisseur Microsoft-Windows-Kernel-General au niveau du noyau enregistre immédiatement cet événement avec des informations détaillées sur la transition. L'événement inclut la valeur de temps précédente, la nouvelle valeur de temps, et identifie le processus ou le service qui a initié le changement.

Cet événement joue un rôle crucial dans le maintien de l'intégrité du système et de la posture de sécurité. La synchronisation temporelle est essentielle pour une authentification de domaine correcte, la validation des certificats, et la coordination des systèmes distribués. Des changements d'heure non autorisés ou inattendus peuvent perturber ces services et potentiellement masquer des activités malveillantes en modifiant les horodatages des journaux.

L'événement se produit généralement lors des opérations normales lorsque le service de temps Windows se synchronise avec les contrôleurs de domaine ou des sources de temps externes. Cependant, il se déclenche également lorsque les utilisateurs ajustent manuellement l'horloge système via le panneau de contrôle Date et Heure, des outils en ligne de commande comme w32tm, ou des cmdlets PowerShell. Les équipes de sécurité surveillent cet événement pour détecter des tentatives de falsification potentielles, tandis que les administrateurs système l'utilisent pour résoudre les problèmes de synchronisation temporelle dans leur infrastructure.

Dans les environnements Windows Server, cet événement devient particulièrement important pour les contrôleurs de domaine, qui doivent maintenir une heure précise pour la validation des tickets Kerberos. Un décalage temporel au-delà des seuils acceptables peut entraîner des échecs d'authentification et des perturbations de service dans tout le domaine.

S'applique à

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

Causes possibles

  • Service de temps Windows (W32Time) se synchronisant avec des contrôleurs de domaine ou des serveurs NTP externes
  • Ajustement manuel de l'heure via le panneau de configuration Date et Heure par des utilisateurs avec des privilèges administratifs
  • Modifications de l'heure en ligne de commande utilisant w32tm /resync, net time, ou les cmdlets PowerShell Set-Date
  • Politiques de synchronisation de l'heure appliquées par la stratégie de groupe prenant effet
  • Récupération du système après hibernation ou mode veille avec un décalage horaire significatif
  • Défaillance de la batterie de l'horloge matérielle (CMOS) causant une réinitialisation de l'heure lors du démarrage
  • Synchronisation de l'heure de la machine virtuelle avec l'hôte hyperviseur
  • Logiciel de synchronisation de l'heure tiers effectuant des ajustements automatiques
  • Transitions de l'heure d'été gérées par les mises à jour automatiques du fuseau horaire de Windows
Méthodes de résolution

Étapes de dépannage

01

Examiner les détails de l'événement dans l'Observateur d'événements

Commencez par examiner les détails spécifiques de l'ID d'événement 5889 pour comprendre ce qui a déclenché le changement d'heure.

  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 le journal en cliquant sur Filtrer le journal actuel dans le volet Actions
  4. Entrez 5889 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur les entrées récentes de l'ID d'événement 5889 pour voir les informations détaillées
  6. Vérifiez l'onglet Général pour l'heure ancienne, la nouvelle heure, et les informations sur le processus
  7. Notez la différence de temps et si les changements semblent automatiques ou manuels

Utilisez PowerShell pour interroger plusieurs événements efficacement :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 20 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Astuce pro : Recherchez des motifs dans le timing - des intervalles réguliers suggèrent une synchronisation automatique, tandis que des heures irrégulières peuvent indiquer des changements manuels.
02

Vérifier la configuration du service de temps Windows

Vérifiez la configuration du service de temps Windows pour déterminer si les changements de temps sont des synchronisations automatiques attendues.

  1. Ouvrez une session d'invite de commandes ou PowerShell avec élévation de privilèges
  2. Vérifiez la configuration actuelle du service de temps :
w32tm /query /configuration
  1. Examinez les sources du serveur NTP et les paramètres de synchronisation :
w32tm /query /source
w32tm /query /status
  1. Vérifiez les journaux de synchronisation du temps pour un contexte supplémentaire :
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Time-Service'} -MaxEvents 10
  1. Vérifiez la hiérarchie de synchronisation du temps de domaine si joint à un domaine :
w32tm /query /peers
  1. Testez la synchronisation manuelle pour voir si elle déclenche l'ID d'événement 5889 :
w32tm /resync /nowait
Avertissement : La synchronisation manuelle du temps peut perturber temporairement les services qui dépendent de timestamps cohérents.
03

Analyser le processus et le contexte utilisateur

Enquêter sur quel processus ou compte utilisateur a initié le changement d'heure pour déterminer s'il était autorisé.

  1. Utilisez PowerShell pour extraire des informations détaillées sur l'événement, y compris les détails du processus :
$Events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 10
foreach ($Event in $Events) {
    $EventXML = [xml]$Event.ToXml()
    Write-Host "Heure : $($Event.TimeCreated)"
    Write-Host "Processus : $($EventXML.Event.EventData.Data | Where-Object {$_.Name -eq 'ProcessName'} | Select-Object -ExpandProperty '#text')"
    Write-Host "Utilisateur : $($Event.UserId)"
    Write-Host "---"
}
  1. Faire une référence croisée avec le journal de sécurité pour les événements de connexion autour de la même heure :
$TimeChangeEvents = Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 5
foreach ($Event in $TimeChangeEvents) {
    $StartTime = $Event.TimeCreated.AddMinutes(-5)
    $EndTime = $Event.TimeCreated.AddMinutes(5)
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624; StartTime=$StartTime; EndTime=$EndTime} | Select-Object TimeCreated, Id, Message
}
  1. Vérifiez les tâches planifiées qui pourraient modifier l'heure système :
Get-ScheduledTask | Where-Object {$_.Actions.Execute -like '*time*' -or $_.Actions.Arguments -like '*time*'}
  1. Examiner les paramètres de stratégie de groupe qui pourraient affecter la synchronisation de l'heure :
gpresult /h GPReport.html
# Examiner le rapport HTML généré pour les politiques liées au temps
04

Surveiller et définir des alertes de changement d'heure

Implémentez une surveillance pour suivre les changements de temps futurs et configurez des alertes pour les modifications non autorisées.

  1. Créez un script PowerShell pour surveiller l'ID d'événement 5889 en temps réel :
# Enregistrer sous Monitor-TimeChanges.ps1
Register-WmiEvent -Query "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2" -Action {
    $Event = Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 1
    Write-Host "Changement de temps détecté à : $($Event.TimeCreated)" -ForegroundColor Yellow
    # Ajouter une notification par email ou un enregistrement ici
}

Write-Host "Surveillance des changements de temps. Appuyez sur Ctrl+C pour arrêter."
try { while ($true) { Start-Sleep 1 } }
finally { Get-EventSubscriber | Unregister-Event }
  1. Configurez le transfert d'événements Windows pour centraliser la surveillance des changements de temps :
# Sur le serveur collecteur
wecutil qc
# Créer une souscription pour l'ID d'événement 5889 à partir de plusieurs systèmes
  1. Configurez la politique d'audit pour améliorer le suivi des changements de temps :
auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable
  1. Créez une vue personnalisée du journal des événements Windows pour les changements de temps :
# Enregistrer sous TimeChangeView.xml et importer dans le Visualiseur d'événements
<ViewerConfig>
  <QueryConfig>
    <QueryParams>
      <Simple>
        <Channel>System</Channel>
        <EventId>5889</EventId>
        <RelativeTimeInfo>0</RelativeTimeInfo>
        <BySource>False</BySource>
      </Simple>
    </QueryParams>
  </QueryConfig>
</ViewerConfig>
Astuce pro : Configurez des alertes par email en utilisant le Planificateur de tâches pour déclencher sur l'ID d'événement 5889 pour une notification immédiate des changements de temps.
05

Analyse médico-légale avancée et investigation du registre

Effectuer une analyse approfondie des événements de changement de temps pour les enquêtes de sécurité ou les exigences de conformité.

  1. Exporter les événements d'ID 5889 pour une analyse détaillée :
$Events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 100
$Events | Export-Csv -Path "C:\Temp\TimeChangeEvents.csv" -NoTypeInformation

# Créer un rapport détaillé avec les différences de temps
$Report = foreach ($Event in $Events) {
    $EventXML = [xml]$Event.ToXml()
    $OldTime = $EventXML.Event.EventData.Data | Where-Object {$_.Name -eq 'OldTime'} | Select-Object -ExpandProperty '#text'
    $NewTime = $EventXML.Event.EventData.Data | Where-Object {$_.Name -eq 'NewTime'} | Select-Object -ExpandProperty '#text'
    [PSCustomObject]@{
        EventTime = $Event.TimeCreated
        OldSystemTime = $OldTime
        NewSystemTime = $NewTime
        TimeDifference = ([DateTime]$NewTime - [DateTime]$OldTime).TotalSeconds
        ProcessId = $Event.ProcessId
        UserId = $Event.UserId
    }
}
$Report | Export-Csv -Path "C:\Temp\TimeChangeAnalysis.csv" -NoTypeInformation
  1. Vérifier les entrées de registre liées à la configuration du service de temps :
# Paramètres de registre du service de temps Windows
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config"

# Informations sur le fuseau horaire
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
  1. Corréler avec d'autres événements de sécurité pour une chronologie complète :
# Obtenir les événements liés autour des changements de temps
$TimeChanges = Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 10
foreach ($Change in $TimeChanges) {
    $StartTime = $Change.TimeCreated.AddMinutes(-10)
    $EndTime = $Change.TimeCreated.AddMinutes(10)
    
    Write-Host "=== Changement de temps à $($Change.TimeCreated) ===" -ForegroundColor Cyan
    
    # Vérifier les événements de connexion
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625; StartTime=$StartTime; EndTime=$EndTime} -ErrorAction SilentlyContinue | 
        Select-Object TimeCreated, Id, @{Name='Event';Expression={if($_.Id -eq 4624){'Succès de connexion'}else{'Échec de connexion'}}}
    
    # Vérifier l'utilisation des privilèges
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4672; StartTime=$StartTime; EndTime=$EndTime} -ErrorAction SilentlyContinue | 
        Select-Object TimeCreated, Id, @{Name='Event';Expression={'Privilèges spéciaux attribués'}}
}
  1. Générer une chronologie médico-légale pour la réponse aux incidents :
# Créer une chronologie complète
$Timeline = @()
$Timeline += Get-WinEvent -FilterHashtable @{LogName='System'; Id=5889} -MaxEvents 50 | 
    Select-Object TimeCreated, @{Name='EventType';Expression={'Changement de temps'}}, @{Name='Source';Expression={'Système'}}, Message
$Timeline += Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625,4672} -MaxEvents 100 | 
    Select-Object TimeCreated, @{Name='EventType';Expression={'Sécurité'}}, @{Name='Source';Expression={'Sécurité'}}, Message

$Timeline | Sort-Object TimeCreated -Descending | Export-Csv -Path "C:\Temp\SecurityTimeline.csv" -NoTypeInformation
Avertissement : Les requêtes de journal d'événements étendues peuvent affecter les performances du système. Exécutez-les pendant les fenêtres de maintenance lorsque cela est possible.

Aperçu

L'ID d'événement 5889 se déclenche chaque fois que l'heure système est modifiée sur une machine Windows. Le fournisseur Microsoft-Windows-Kernel-General enregistre cet événement pour suivre à la fois les changements d'heure manuels et les ajustements automatiques effectués par le service de temps Windows (W32Time). Cet événement apparaît dans le journal Système et fournit des informations d'audit cruciales sur le moment et la manière dont l'heure système a été modifiée.

L'événement capture l'ancienne valeur de l'heure, la nouvelle valeur de l'heure et le processus responsable du changement. Les administrateurs système s'appuient sur cet événement pour surveiller les modifications d'heure non autorisées, résoudre les problèmes de synchronisation de l'heure et maintenir la conformité avec les exigences d'audit. Les changements d'heure peuvent affecter la corrélation des journaux, la validation des certificats, l'authentification Kerberos et les tâches planifiées.

Dans les environnements d'entreprise, les changements d'heure inattendus indiquent souvent des problèmes de configuration avec la synchronisation de l'heure du domaine, des interventions manuelles par des utilisateurs avec des privilèges administratifs, ou des incidents de sécurité potentiels. L'événement aide à distinguer entre les corrections automatiques légitimes de l'heure et les modifications manuelles suspectes qui pourraient être utilisées pour masquer les horodatages d'activités malveillantes.

Questions Fréquentes

Que signifie l'ID d'événement 5889 et quand devrais-je m'en inquiéter ?+
L'ID d'événement 5889 indique que l'heure système a été modifiée sur votre machine Windows. Cela est normal lorsque le service de temps Windows se synchronise avec les contrôleurs de domaine ou les serveurs NTP. Vous devriez vous inquiéter si vous constatez des changements d'heure manuels fréquents en dehors des schémas de synchronisation normaux, des modifications effectuées par des utilisateurs non autorisés, ou des modifications d'heure qui coïncident avec des activités suspectes. La synchronisation automatique régulière montre généralement de petits ajustements de temps (secondes ou minutes), tandis que les changements manuels impliquent souvent des décalages temporels plus importants.
Comment puis-je savoir si l'ID d'événement 5889 a été causé par une synchronisation automatique ou une intervention manuelle ?+
Vérifiez les détails de l'événement pour le nom du processus et la différence de temps. La synchronisation automatique montre généralement 'w32tm.exe' ou 'svchost.exe' comme processus, avec de petits ajustements de temps (généralement moins de 5 minutes). Les changements manuels montrent souvent des différences de temps plus importantes et peuvent être initiés par 'explorer.exe' (changements GUI) ou 'cmd.exe'/'powershell.exe' (changements en ligne de commande). Des intervalles réguliers entre les événements suggèrent une synchronisation automatique, tandis que des motifs de synchronisation irréguliers indiquent une intervention manuelle. Vous pouvez également faire une corrélation avec les événements du service de temps Windows dans le journal Système.
L'ID d'événement 5889 peut-il indiquer une violation de sécurité ou une activité malveillante ?+
Bien que l'ID d'événement 5889 soit en soi informatif, des changements d'heure inattendus peuvent faire partie d'une activité malveillante. Les attaquants pourraient modifier l'heure du système pour altérer les horodatages des journaux, échapper aux contrôles de sécurité basés sur le temps ou perturber les mécanismes d'authentification. Enquêtez si des changements d'heure se produisent en dehors des heures ouvrables normales, sont effectués par des comptes non autorisés, coïncident avec d'autres événements suspects ou impliquent des décalages horaires significatifs en arrière (ce qui pourrait cacher une activité malveillante). Corrélez toujours les événements de changement d'heure avec les journaux de sécurité, l'activité des utilisateurs et les changements du système pour déterminer si une enquête est justifiée.
Pourquoi vois-je plusieurs entrées d'ID d'événement 5889 en peu de temps ?+
Plusieurs entrées d'ID d'événement 5889 en succession rapide peuvent se produire lors de la synchronisation initiale de l'heure après le démarrage du système, lors de la correction d'un décalage horaire significatif, lors des transitions de l'heure d'été, ou lorsque des politiques de synchronisation de l'heure sont appliquées. Les machines virtuelles génèrent souvent plusieurs événements lors de la synchronisation avec l'hôte. Si vous constatez un nombre excessif d'événements (plus de 10 par heure), vérifiez la configuration de votre service de temps, vérifiez l'accessibilité du serveur NTP, et assurez-vous que les intervalles de synchronisation de l'heure sont correctement configurés. Des changements fréquents de l'heure peuvent indiquer des problèmes d'horloge matérielle ou des services de temps mal configurés.
Comment puis-je empêcher les changements d'heure non autorisés tout en maintenant une synchronisation correcte ?+
Implémentez la stratégie de groupe pour restreindre les privilèges de changement d'heure à des comptes administratifs spécifiques en utilisant l'attribution de droits utilisateur 'Modifier l'heure du système'. Configurez le service de temps Windows via la stratégie de groupe pour assurer une synchronisation cohérente sur votre domaine. Activez les politiques d'audit pour l'utilisation des privilèges et l'intégrité du système afin de suivre les activités liées au temps. Configurez des alertes de surveillance pour l'ID d'événement 5889 afin de détecter des schémas inhabituels. Pour les systèmes critiques, envisagez d'utiliser des modules de sécurité matériels ou des serveurs de temps dédiés. Une surveillance régulière des événements de changement d'heure combinée à des contrôles d'accès appropriés offre le meilleur équilibre entre sécurité et fonctionnalité.
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 Event Viewer showing system time change events on a monitoring dashboard
Event 11708
Microsoft-Windows-Kernel-General
Windows EventInformation

ID d'événement Windows 11708 – Microsoft-Windows-Kernel-General : Changement de l'heure système détecté

L'ID d'événement 11708 indique que l'heure du système a été modifiée, soit manuellement par un utilisateur, soit automatiquement par des services de synchronisation de l'heure. Critique pour l'audit de sécurité et le dépannage des problèmes liés au temps.

18 mars9 min
Windows Event Viewer showing system time change events on a monitoring dashboard
Event 5121
Microsoft-Windows-Kernel-General
Windows EventInformation

ID d'événement Windows 5121 – Microsoft-Windows-Kernel-General : Changement de l'heure système détecté

L'ID d'événement 5121 se déclenche lorsque Windows détecte un changement de l'heure système, soit par un ajustement manuel, soit par une synchronisation automatique. Critique pour l'audit de sécurité et le dépannage des problèmes liés au temps.

18 mars12 min
System administrator analyzing Windows kernel errors and event logs on multiple monitoring displays
Event 5058
Microsoft-Windows-Kernel-General
Windows EventError

ID d'événement Windows 5058 – Microsoft-Windows-Kernel-General : Échec de l'opération de fichier clé

L'ID d'événement 5058 indique une défaillance critique d'opération de fichier au niveau du noyau, impliquant généralement des fichiers système, des ruches de registre ou des bases de données de sécurité que Windows ne peut pas accéder ou modifier correctement.

18 mars12 min
Windows Event Viewer displaying system time synchronization events on a server monitoring dashboard
Event 5056
Microsoft-Windows-Kernel-General
Windows EventInformation

ID d'événement Windows 5056 – Microsoft-Windows-Kernel-General : Changement de l'heure système détecté

L'ID d'événement 5056 se déclenche lorsque Windows détecte un changement de l'heure système, généralement lors du démarrage ou lorsque la synchronisation de l'heure se produit. Critique pour les pistes d'audit et le dépannage des problèmes liés au temps.

18 mars9 min

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...