2008-10-04 3 views

Répondre

8

Note (ou plutôt, pas désactivé car il est activé par défaut.): Ceci est un bonne question pour un code-challenge

Voici quelques codes exécutables, mais vous pouvez ajouter d'autres solutions, dans d'autres langues:


Le temps de fonctionnement peut être une bonne indication:

net stats workstation | find /i "since" 

lien Maintenant que l'information d'une façon de lire les journaux d'événements Windows, comme, par exemple dans PowerShell:

Get-EventLog -list | Where-Object {$_.logdisplayname -eq "System"} 

et recherchez les derniers messages "Enregistrer Dump"

Comme Michael Petrottasaid, WMI est un bon moyen de récupérer cette information.

Basé sur le temps de mise à jour, vous pouvez faire une requête comme:

Set colEvents = objWMIService.ExecQuery _ 
    ("Select * from Win32_NTLogEvent Where LogFile = 'System' AND 
    TimeWritten >= '" _ 
    & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") 

à repérer facilement un journal des événements avec un message « Save Dump » en elle, ce qui confirme l'accident.

Plus dans la classe Win32_NTLogEvent Class WMI.


En fait, cet article Microsoft Querying the Event Log for Stop Events ne vous le donner (la demande complète):

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set colLoggedEvents = objWMIService.ExecQuery _ 
    ("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'System'" _ 
    & " AND SourceName = 'Save Dump'") 
For Each objEvent in colLoggedEvents 
    Wscript.Echo "Event date: " & objEvent.TimeGenerated 
    Wscript.Echo "Description: " & objEvent.Message 
Next 
+0

Notez que les exemples 2 et 3 utilisent 'Application', quand il devrait être 'System', et 'SaveDump' dans l'exemple 4 pourrait devoir être 'Save Dump'. – CarlJohnson

+0

@TomMcTwattyPants ok. Je ne peux pas le tester en ce moment, mais j'ai édité la réponse pour refléter votre commentaire. – VonC

2

Vous pouvez rechercher un fichier de vidage de la mémoire ou le noyau avec un temps de création récente, si la génération de fichier de vidage a été activé

8

redémarrages résultant d'un BSOD sont rapportés dans le journal des événements. Utilisez les bibliothèques dans votre langue préférée pour rechercher des erreurs dans le journal. Dans .NET, par exemple, vous voudrez regarder la classe System.Diagnostics.EventLog. WMI peut offrir une méthode plus flexible pour rechercher le journal.

Questions connexes