Vérifier un Microsoft Defender Offline Scan : guide complet pour interpréter les journaux et les codes d’état

Après un redémarrage provoqué par Microsoft Defender Offline, l’absence d’information dans Windows Security peut laisser penser que l’analyse n’a pas fonctionné ; voici comment confirmer sa réussite, interpréter les journaux et automatiser la vérification, tout en comprenant les codes d’état courants.

Sommaire

Pourquoi Microsoft Defender Offline est indispensable

Le mode hors ligne démarre Windows Recovery Environment (WinRE) avant le chargement du système principal ; les menaces enracinées plus tôt dans la séquence de démarrage ne peuvent donc pas masquer leurs fichiers ni neutraliser l’antivirus. En revanche, parce que l’exécution se fait en dehors de la session utilisateur, l’interface graphique classique (Protection History, date du dernier scan) n’est mise à jour qu’en cas de détection. Sans menace, la console reste muette : c’est normal, mais déroutant. La confirmation passe alors par l’examen des journaux et de l’Observateur d’événements.

Les quatre vérifications essentielles

ÉtapeAction à réaliserRésultat attendu / interprétation
1Ouvrir (en administrateur) le fichier :
C:\Windows\Microsoft Antimalware\Support\msssWrapper.log
Rechercher la ligne :
Offline scan completed with 0x00000000 → analyse réussie, aucune menace.
Toute valeur ≠ 0x00000000 signale un problème ou une détection ; les détails (nom du virus, action) figurent plus haut dans le même fichier.
2Lancer PowerShell puis exécuter :
Get-MpThreatDetection
Sortie vide : pas de menace.
Données présentes : liste précise des menaces, gravité, action (Quarantine, Remove, Clean, Block).
3Ouvrir l’Observateur d’événements →
Applications and Services Logs → Microsoft → Windows → Windows Defender → Operational
Événement 1000 : début de l’analyse.
Événement 1001 : fin de l’analyse.
Absence d’événements 1116/1117 intermédiaires (threat-detected/threat-resolved) = aucune menace.
4(Optionnel) Lire :
C:\Windows\Microsoft Antimalware\Tmp\MpCmdRun.log
Dans certaines versions antérieures de Windows 10/11, ce log récapitule la session hors ligne ; sur 24H2, il n’est plus systématique.

Analyse détaillée des journaux

1. msssWrapper.log

Le fichier se crée à chaque lancement du moteur Antimalware pour WinRE et contient :

  • Horodatage précis de l’amorçage et de la fermeture.
  • Chemin vers le moteur et les définitions téléchargées avant le redémarrage (%ProgramData%\Microsoft\Windows Defender\Definition Updates).
  • Liste de fichiers scannés (option « Verbose » activée).
  • Ligne finale du type :
    [SCAN] Offline scan completed with 0x00000000
    0x00000000 = succès, aucune menace.
    0x80508019 = définitions invalides / expirées.
    0x80508020 = moteur indisponible.
    Toute autre valeur : consulter les entrées précédentes pour identifier la menace ou l’erreur.

2. Get-MpThreatDetection

Cette cmdlet interroge la base WMI root\Microsoft\ProtectionManagement. Exemple de sortie :

InitialDetectionTime : 07/09/2025 14:54:31
ThreatName           : Trojan:Win32/Wacatac.B!ml
ActionSuccess        : True
CurrentThreatAction  : Quarantine

Si l’analyse hors ligne a nettoyé une menace, vous la verrez ici jusqu’à ce que l’utilisateur efface manuellement l’historique dans Windows Security.

3. Journal Windows Defender (Event ID 1000/1001)

Les événements se présentent comme suit :

  • 1000 – MpOfflineScanStart
    Message : “The offline scan has started.”
    Données : SignatureVersion, EngineVersion, PathToPE.
  • 1001 – MpOfflineScanComplete
    Message : “The offline scan completed successfully.”
    Données : ReturnValue (0 ou code d’erreur), ElapsedTime.
  • 1116/1117 n’apparaissent que si une menace est détectée (1116) puis traitée (1117).

Automatiser la confirmation avec PowerShell

Pour éviter de parcourir manuellement les journaux, ajoutez ce script (droits administrateur requis) :

# Vérification Defender Offline - version simplifiée
$logPath = 'C:\Windows\Microsoft Antimalware\Support\msssWrapper.log'
if (!(Test-Path $logPath)) {
    Write-Warning "Fichier de log introuvable."
    exit 1
}
$lastLine = (Get-Content $logPath -ErrorAction Stop | Select-Object -Last 1)
if ($lastLine -match '0x00000000') {
    Write-Host "Analyse hors ligne : SUCCESS (aucune menace)" -ForegroundColor Green
} else {
    Write-Host "ATTENTION : code retour non nul (`$lastLine`)" -ForegroundColor Red
    # Afficher les 30 dernières lignes pour enquête
    Get-Content $logPath -Tail 30
}
Vérification post-nettoyage
$threats = Get-MpThreatDetection
if ($threats) {
    Write-Output "`nMenaces détectées :"
    $threats | Format-Table ThreatName,CurrentThreatAction,InitialDetectionTime -AutoSize
} else {
    Write-Output "`nHistorique des menaces : vide."
}

Astuce : placez-le dans %ProgramData%\Microsoft\Windows Defender et déclenchez-le via le Planificateur de tâches « At log on » pour un rapport immédiat après redémarrage.

Comprendre les codes d’état fréquemment rencontrés

CodeSignificationAction recommandée
0x00000000Succès complet, aucune menaceAucune action, tout est sain
0x80508019Signatures obsolètes ou corrompuesLancer Update-MpSignature puis relancer l’analyse hors ligne
0x80508020Le moteur antimalware n’a pas pu se chargerVérifier l’intégrité de MpCmdRun.exe, exécuter sfc /scannow
0x80508023Accès refusé à un fichier ou volumeDémarrer en WinRE, utiliser chkdsk /f /r ou valider les droits NTFS
0xC000000DParamètre non valide (ex. chemin introuvable)Mettre à jour Windows Defender, vérifier les périphériques externes

Bonnes pratiques avant de lancer un Offline Scan

  • Mettre à jour les définitions :
    PowerShell> Update-MpSignature -DefinitionsUpdateFile (si vous disposez d’un package hors ligne) ou laisser Windows Update faire le travail.
  • Désactiver le chiffrement BitLocker (ou suspendre) si vous utilisez un TPM ancien ; certains firmwares empêchent WinRE de lire la partition chiffrée hors de la session.
  • Sauvegarder vos fichiers critiques : bien que rare, la suppression automatique peut déplacer des exécutables nécessaires en quarantaine.
  • Déconnecter les lecteurs réseaux si l’environnement WinRE ne dispose pas des pilotes requis ; l’analyse se focalisera sur les disques locaux.

Étapes post-analyse si une menace est détectée

  1. Consultez Protection History dans Windows Security pour visualiser les actions entreprises (Quarantine, Remove).
  2. Exécutez MpCmdRun.exe -Restore -ListAll pour identifier les éléments placés en quarantaine et les restaurer, si nécessaire, vers un répertoire isolé.
  3. Effectuez un scan complet en ligne (Full Scan) pour confirmer qu’aucun résidu système n’a échappé à WinRE.
  4. Analysez le master boot record si le code 0x80508023 est apparu ; un rootkit peut bloquer l’accès pendant l’analyse hors ligne.
  5. Appliquez les mises à jour de sécurité Windows et des applications tierces (Java, Adobe, navigateurs) afin de corriger la vulnérabilité initiale.

FAQ – Questions fréquemment posées

Q : Je ne vois pas le fichier msssWrapper.log. Est‑ce normal ?
R : Non. En l’absence totale de ce log, WinRE n’a probablement pas démarré. Vérifiez les événements Event ID 5007 (paramètres modifiés) ou un conflit avec un antivirus tiers.

Q : Pourquoi Get-MpThreatDetection est vide alors que l’analyse a trouvé un virus ?
R : Si vous supprimez manuellement l’historique ou utilisez un outil de nettoyage (CCleaner, script CHKDSK), la base WMI peut avoir été purgée. Consultez alors Event ID 1116 et le détail du fichier dans msssWrapper.log.

Q : Le code 0x80508019 persiste même après mise à jour !
R : Supprimez le dossier %ProgramData%\Microsoft\Windows Defender\Definition Updates\*, puis relancez Update-MpSignature pour forcer un téléchargement complet.

Conclusion

La clé pour valider un Microsoft Defender Offline Scan est de recouper trois sources : msssWrapper.log, Get-MpThreatDetection et l’Observateur d’événements. Leur lecture systématique, éventuellement automatisée par PowerShell, garantit une vision claire de l’état de la machine. Souvenez‑vous : pas d’information dans l’interface graphique ne signifie pas échec, mais plutôt absence de menace. Seuls les journaux fournissent la certitude recherchée.

Sommaire