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
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
@TomMcTwattyPants ok. Je ne peux pas le tester en ce moment, mais j'ai édité la réponse pour refléter votre commentaire. – VonC