ANAVEM
Languageen
Windows Event Viewer showing system event logs on a monitoring dashboard
Event ID 4950InformationMicrosoft-Windows-Kernel-GeneralWindows

ID d'événement Windows 4950 – Microsoft-Windows-Kernel-General : Heure du système modifiée

L'ID d'événement 4950 se déclenche lorsque l'heure système est modifiée sur une machine Windows, soit manuellement par un utilisateur, soit automatiquement par les services de synchronisation de l'heure.

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

Signification de cet événement

L'ID d'événement 4950 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 noyau génère cet événement pour maintenir une trace d'audit des modifications temporelles. L'événement capture l'horodatage exact du moment où le changement s'est produit, l'heure système précédente, la nouvelle heure système, et identifie le processus ou le service qui a initié la modification.

La structure de l'événement comprend plusieurs champs de données clés : l'ancienne heure système au format UTC, la nouvelle heure système au format UTC, l'ID de processus du composant qui a effectué le changement, et dans les versions plus récentes de Windows, un code de raison indiquant si le changement était manuel, automatique via la synchronisation NTP, ou déclenché par la synchronisation de l'heure de domaine. Ces informations granulaires s'avèrent inestimables pour l'analyse judiciaire et l'audit de conformité.

D'un point de vue sécurité, l'ID d'événement 4950 sert de point de détection critique pour une manipulation potentielle du système. Les attaquants modifient parfois l'heure système pour échapper aux contrôles de sécurité basés sur le temps, interférer avec la validation des certificats, ou créer des lacunes dans les journaux d'audit. Les systèmes de gestion des informations et des événements de sécurité (SIEM) surveillent couramment cet événement pour identifier les modifications d'heure suspectes qui dévient des schémas de synchronisation attendus.

L'événement joue également un rôle crucial dans le dépannage des problèmes liés au temps dans les environnements d'entreprise. Lorsque des applications échouent en raison d'un décalage horaire, des problèmes d'authentification surviennent à cause du timing des tickets Kerberos, ou des tâches planifiées s'exécutent incorrectement, l'ID d'événement 4950 fournit la trace judiciaire nécessaire pour identifier quand et pourquoi les changements d'heure se sont produits. Les administrateurs système utilisent ces données d'événement pour corréler les modifications d'heure avec les problèmes système et valider que les services de synchronisation de l'heure fonctionnent correctement.

S'applique à

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

Causes possibles

  • Changement manuel de l'heure via les paramètres de Date et Heure de Windows
  • Synchronisation automatique de l'heure via le service de temps Windows (W32Time)
  • Synchronisation de l'heure du contrôleur de domaine dans les environnements Active Directory
  • Synchronisation du client NTP avec des serveurs de temps externes
  • Changements de fuseau horaire affectant l'horloge système
  • Ajustements automatiques de l'heure d'été
  • Modifications par des logiciels tiers de synchronisation de l'heure
  • Reprise du système après hibernation ou veille avec un décalage horaire significatif
  • Synchronisation de l'heure de la machine virtuelle avec l'hôte hyperviseur
  • Défaillance de la batterie de l'horloge matérielle causant une réinitialisation de l'heure au démarrage
Méthodes de résolution

Étapes de dépannage

01

Examiner 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 4950 pour comprendre la nature du 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 4950 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 4950 pour voir des informations détaillées
  6. Examinez l'onglet Général pour l'heure ancienne, la nouvelle heure et la différence de temps
  7. Vérifiez l'onglet Détails pour l'ID de processus et le contexte supplémentaire

Utilisez PowerShell pour interroger plusieurs événements efficacement :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950} -MaxEvents 20 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Astuce pro : Recherchez des motifs dans les changements d'heure - des intervalles réguliers suggèrent une synchronisation automatique, tandis que des changements irréguliers peuvent indiquer des modifications manuelles ou des problèmes système.
02

Analyser la configuration de synchronisation temporelle

Enquêter sur la configuration du service de temps Windows pour déterminer si les changements de temps sont un comportement attendu.

  1. Ouvrir une invite de commande ou PowerShell avec élévation de privilèges
  2. Vérifier la configuration actuelle du service de temps :
w32tm /query /configuration
  1. Vérifier la source de temps utilisée :
w32tm /query /source
  1. Vérifier le statut du service de temps :
w32tm /query /status
  1. Examiner les pairs de synchronisation de temps :
w32tm /query /peers
  1. Pour les ordinateurs joints à un domaine, vérifier la hiérarchie du domaine :
w32tm /query /configuration | Select-String -Pattern 'Type|NtpServer'
  1. Vérifier le journal des événements du service de temps Windows :
Get-WinEvent -LogName 'Microsoft-Windows-Time-Service/Operational' -MaxEvents 50
Avertissement : Désactiver la synchronisation du temps peut entraîner des échecs d'authentification dans les environnements de domaine et des problèmes de validation de certificat.
03

Corréler avec les événements de sécurité et d'application

Recoupez l'ID d'événement 4950 avec d'autres événements système pour identifier la cause racine et l'impact des changements de temps.

  1. Vérifiez les événements de sécurité liés autour de la même période :
$timeChange = Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950} -MaxEvents 1
$startTime = $timeChange.TimeCreated.AddMinutes(-10)
$endTime = $timeChange.TimeCreated.AddMinutes(10)
Get-WinEvent -FilterHashtable @{LogName='Security'; StartTime=$startTime; EndTime=$endTime} | Where-Object {$_.Id -in @(4624,4625,4648,4672)}
  1. Cherchez des erreurs d'application qui pourraient être liées aux changements de temps :
Get-WinEvent -FilterHashtable @{LogName='Application'; StartTime=$startTime; EndTime=$endTime; Level=2}
  1. Vérifiez les problèmes d'authentification Kerberos :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=@(13,40)} -MaxEvents 20
  1. Examinez les événements du Planificateur de tâches pour les tâches manquées ou échouées :
Get-WinEvent -LogName 'Microsoft-Windows-TaskScheduler/Operational' -MaxEvents 50 | Where-Object {$_.TimeCreated -gt $startTime -and $_.TimeCreated -lt $endTime}
  1. Créez un rapport chronologique complet :
$events = @()
$events += Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950; StartTime=(Get-Date).AddDays(-1)}
$events += Get-WinEvent -FilterHashtable @{LogName='System'; Id=@(13,40); StartTime=(Get-Date).AddDays(-1)}
$events | Sort-Object TimeCreated | Format-Table TimeCreated, LogName, Id, LevelDisplayName, Message -Wrap
04

Surveiller et configurer des alertes pour les changements d'heure

Implémentez des solutions de surveillance pour suivre et alerter sur les changements de temps inattendus à des fins de sécurité et de conformité.

  1. Créez une vue personnalisée dans l'Observateur d'événements pour la surveillance des changements de temps :
  2. Dans l'Observateur d'événements, cliquez avec le bouton droit sur Vues personnalisées et sélectionnez Créer une vue personnalisée
  3. Définissez le Niveau d'événement sur Information, les Journaux d'événements sur Système, et les ID d'événement sur 4950
  4. Enregistrez la vue sous le nom "Surveillance des changements de temps"
  5. Configurez une tâche planifiée pour alerter sur les changements de temps :
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-Command "Get-WinEvent -FilterHashtable @{LogName=\"System\"; Id=4950; StartTime=(Get-Date).AddMinutes(-5)} | ForEach-Object {Send-MailMessage -To admin@company.com -From timechange@company.com -Subject \"Time Change Detected\" -Body $_.Message -SmtpServer mail.company.com}"'
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Days 365)
Register-ScheduledTask -TaskName "TimeChangeAlert" -Action $action -Trigger $trigger -Description "Alert on system time changes"
  1. Configurez le transfert d'événements Windows pour une surveillance centralisée :
# Sur le serveur collecteur
wecutil qc
# Créer un abonnement pour l'ID d'événement 4950
wecutil cs TimeChangeSubscription.xml
  1. Utilisez PowerShell pour créer un moniteur en temps réel :
Register-WmiEvent -Query "SELECT * FROM Win32_VolumeChangeEvent" -Action {
    $event = Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950} -MaxEvents 1
    Write-Host "Changement de temps détecté à $($event.TimeCreated): $($event.Message)"
}
Astuce pro : Dans les environnements d'entreprise, envisagez d'utiliser des solutions SIEM comme Microsoft Sentinel ou Splunk pour corréler l'ID d'événement 4950 avec d'autres événements de sécurité pour une surveillance complète.
05

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

Effectuer une analyse médico-légale approfondie pour comprendre la source et l'impact des changements de temps, en particulier dans les enquêtes sur les incidents de sécurité.

  1. Exporter les événements ID 4950 pour une analyse détaillée :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950; StartTime=(Get-Date).AddDays(-30)} | Export-Csv -Path "C:\Temp\TimeChanges.csv" -NoTypeInformation
  1. Examiner les clés de registre liées à la synchronisation du temps :
# Vérifier la configuration du service de temps
Get-ItemProperty -Path "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters"
# Examiner les fournisseurs de temps
Get-ChildItem -Path "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders" -Recurse
  1. Analyser les informations de processus à partir des détails de l'événement :
$events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950} -MaxEvents 10
foreach ($event in $events) {
    $xml = [xml]$event.ToXml()
    $processId = $xml.Event.EventData.Data | Where-Object {$_.Name -eq 'ProcessId'} | Select-Object -ExpandProperty '#text'
    if ($processId) {
        Write-Host "Changement de temps par ID de processus : $processId à $($event.TimeCreated)"
    }
}
  1. Vérifier les motifs de temps suspects en utilisant une analyse statistique :
$timeChanges = Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950; StartTime=(Get-Date).AddDays(-7)}
$intervals = @()
for ($i = 1; $i -lt $timeChanges.Count; $i++) {
    $interval = ($timeChanges[$i-1].TimeCreated - $timeChanges[$i].TimeCreated).TotalMinutes
    $intervals += $interval
}
$avgInterval = ($intervals | Measure-Object -Average).Average
Write-Host "Temps moyen entre les changements : $avgInterval minutes"
$intervals | Group-Object | Sort-Object Count -Descending
  1. Générer un rapport médico-légal complet :
$report = @"
Rapport médico-légal sur les changements de temps - Généré : $(Get-Date)
=================================================

Changements de temps récents :
"@
$events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=4950} -MaxEvents 20
foreach ($event in $events) {
    $report += "`n$($event.TimeCreated): $($event.Message)"
}
$report += "`n`nStatut du service de temps :`n"
$report += w32tm /query /status
$report | Out-File -FilePath "C:\Temp\TimeChangeReport.txt"
Avertissement : Lors de l'enquête sur des incidents de sécurité, préservez les journaux d'événements originaux avant l'analyse et maintenez une chaîne de possession appropriée pour les preuves médico-légales.

Aperçu

L'ID d'événement 4950 de Microsoft-Windows-Kernel-General se connecte chaque fois que l'heure système est modifiée sur une machine Windows. Cet événement capture à la fois les changements d'heure manuels effectués par les utilisateurs via les paramètres de Date et Heure et les ajustements automatiques effectués par le service de temps Windows (W32Time). L'événement apparaît dans le journal Système et fournit des informations d'audit précieuses sur le moment et la manière dont les modifications de l'heure système se produisent.

Cet événement devient particulièrement important dans les environnements d'entreprise où la synchronisation de l'heure est cruciale pour l'authentification de domaine, la validation des certificats et la corrélation des journaux sur plusieurs systèmes. Les équipes de sécurité surveillent souvent cet événement pour détecter les changements d'heure non autorisés qui pourraient être utilisés pour contourner les contrôles de sécurité ou manipuler les pistes d'audit. L'événement inclut des détails sur l'heure précédente, la nouvelle heure et le processus responsable du changement.

Dans Windows Server 2025 et Windows 11 24H2, Microsoft a amélioré la journalisation des événements pour inclure un contexte supplémentaire sur la source du changement d'heure, facilitant ainsi la distinction entre la synchronisation automatique légitime et les modifications manuelles. L'événement se déclenche immédiatement lorsque le changement d'heure se produit, avant que d'autres composants système ne soient informés de la modification.

Questions Fréquentes

Que signifie l'ID d'événement 4950 et quand devrais-je m'en inquiéter ?+
L'ID d'événement 4950 indique que l'heure système a été modifiée sur votre machine Windows. Vous devriez vous inquiéter si ces événements se produisent fréquemment en dehors des fenêtres de synchronisation temporelle prévues, se produisent à des moments inhabituels ou sont corrélés à des incidents de sécurité. La synchronisation automatique normale se produit généralement toutes les quelques heures, tandis que les modifications manuelles ou les ajustements fréquents peuvent indiquer des problèmes système ou des préoccupations de sécurité potentielles. Surveillez la fréquence et les schémas temporels pour distinguer entre une activité légitime et suspecte.
Comment puis-je savoir si un changement d'heure a été manuel ou automatique ?+
Dans les versions plus récentes de Windows (Windows 11 22H2 et ultérieures, Windows Server 2022), l'ID d'événement 4950 inclut un contexte supplémentaire dans les détails de l'événement qui peut aider à identifier la source. Les modifications automatiques montrent généralement le service de temps Windows (W32Time) comme source, tandis que les modifications manuelles montrent les processus utilisateur. Vous pouvez également corréler avec l'ID d'événement 4616 (changement de l'heure système) dans le journal de sécurité, qui fournit des informations plus détaillées sur l'utilisateur ou le processus qui a initié le changement. Vérifiez l'ID de processus dans les détails de l'événement et faites une référence croisée avec les processus en cours à ce moment-là.
Pourquoi vois-je plusieurs entrées d'ID d'événement 4950 en peu de temps ?+
Plusieurs entrées d'ID d'événement 4950 en succession rapide indiquent généralement des problèmes de synchronisation temporelle ou une instabilité du système. Les causes courantes incluent : des problèmes de connectivité réseau empêchant une synchronisation NTP correcte, des sources de temps conflictuelles dans un environnement de domaine, la correction de dérive temporelle des machines virtuelles, des problèmes d'horloge matérielle, ou des conflits avec des logiciels tiers de synchronisation temporelle. Vérifiez la configuration de votre service de temps avec 'w32tm /query /status' et examinez la connectivité réseau vers vos sources de temps. Dans les environnements virtualisés, vérifiez que la synchronisation temporelle des VM est correctement configurée.
L'ID d'événement 4950 peut-il être utilisé pour détecter des attaques de sécurité ?+
Oui, l'ID d'événement 4950 est précieux pour la surveillance de la sécurité. Les attaquants manipulent parfois l'heure du système pour échapper aux contrôles de sécurité basés sur le temps, interférer avec la validation des certificats, créer des lacunes dans les journaux d'audit ou contourner des mécanismes d'authentification sensibles au temps comme les tickets Kerberos. Des schémas inhabituels tels que le réglage de l'heure en arrière, des changements manuels fréquents ou des modifications de l'heure corrélées à d'autres activités suspectes justifient une enquête. Les équipes de sécurité devraient surveiller les changements d'heure en dehors des fenêtres de maintenance, en particulier ceux qui créent un décalage horaire significatif ou se produisent en dehors des heures de travail.
Comment puis-je empêcher les modifications non autorisées de l'heure sur mes systèmes Windows ?+
Pour empêcher les modifications de l'heure non autorisées, mettez en œuvre plusieurs mesures de sécurité : Retirez le droit utilisateur 'Modifier l'heure du système' des utilisateurs non administratifs via la stratégie de groupe (Configuration de l'ordinateur → Paramètres Windows → Paramètres de sécurité → Politiques locales → Attribution des droits utilisateur). Configurez une synchronisation horaire appropriée via la stratégie de groupe pour empêcher les modifications manuelles. Activez les politiques d'audit pour enregistrer les tentatives de changement d'heure dans le journal de sécurité. Utilisez AppLocker ou les politiques de restriction logicielle pour empêcher les outils de synchronisation horaire non autorisés. Dans les environnements d'entreprise, gérez centralement la synchronisation horaire via les contrôleurs de domaine et surveillez l'ID d'événement 4950 pour détecter les anomalies.
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 displaying system time change events on a professional monitoring dashboard
Event 5889
Microsoft-Windows-Kernel-General
Windows EventInformation

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.

18 mars12 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

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...