drobskind
Goto Top

Ermitteln der letzten wakeup time von Hibernate oder Sleep

Hallo,

gibt es einen Befehl mit dem ich per Batch ermitteln kann, wann ein Windows 7 aus dem Ruhezustand aufgewacht ist?
wmic os get lastBootUpTime -> gibt mir die wirkliche Boot-Zeit zurück. Wenn der PC dazwischen im Sleep oder Hibernate war, dann wird diese Zeit nicht zurückgesetzt.

powercfg -lastwake -> gibt mir leider nur das Gerät zurück, welches den PC geweckt hat, aber keinen Zeitstempel.

Google hat mir bis jetzt nicht wirklich weitergeholfen. Bekomme meist nur Ergebnisse, wie man Batch Jobs direkt nach einem Wakeup startet face-wink

Kennt jemand von euch einen Befehl der mir helfen könnte?
Eventuell über das Auslesen des Windows Eventlogs?

Vielen Dank

Content-Key: 244701

Url: https://administrator.de/contentid/244701

Printed on: April 24, 2024 at 18:04 o'clock

Member: colinardo
Solution colinardo Jul 25, 2014, updated at Jul 26, 2014 at 11:59:20 (UTC)
Goto Top
Hallo drobskind,
wenn's Powershell sein darf geht das Auslesen des letzten Wakeups hiermit auf einem Windows 7 x64:
Get-WinEvent -LogName System -FilterXPath "Event[System[EventID=1 and Provider[@Name='Microsoft-Windows-Power-Troubleshooter']]]" -MaxEvents 1 | select -Expand TimeCreated
oder hiermit:
Get-EventLog -LogName System -Newest 1 -InstanceId 1 -Source 'Microsoft-Windows-Power-Troubleshooter' | select -Expand TimeGenerated
Falls man genauere Werte für den Start, Ende und Dauer des Sleep benötigt, lässt sich das hiermit anzeigen:
$wakeevent = Get-WinEvent -LogName System -FilterXPath "Event[System[EventID=1 and Provider[@Name='Microsoft-Windows-Power-Troubleshooter']]]" -MaxEvents 1  
$sleepstart = get-date ($wakeevent.properties.Value)
$sleepend = get-date ($wakeevent.properties[1].Value)
$sleepduration = ($sleepend - $sleepstart).ToString("c")  
write-host "Sleepstart: "$sleepstart  
write-host "Sleepend:   "$sleepend  
write-host "Duration:   "$sleepduration  
Grüße Uwe
Member: drobskind
drobskind Jul 25, 2014 at 17:16:03 (UTC)
Goto Top
Hey, danke...
exactly what I was looking for.

Grüße
drobskind
Member: woiswas
woiswas Oct 25, 2014 at 12:23:00 (UTC)
Goto Top
Ich suchte lange ein Tool zum Auslesen der Ereignisdateien (.evtx) für WIN8 bzw. zum Auflisten der PC-Starzeiten. Möchte zusätzlich zu WakeUp auch Bootzeiten ermitteln. Habe dann mit der Powershell, als Neuling, etwas geübt und bekomme mit nachfolgendem Aufruf ein gutes Ergebnis hin. Es werden die EventIDs 1, 12, 13 und 42 gefiltert. Die Ausgabe ordentlich und ohne Überschriften hinzubekommen war nicht einfach. Aber so geht es:

Get-WinEvent -LogName System -FilterXPath "Event[System[EventID=1 and Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] or EventID=12 and Provider[@Name='Microsoft-Windows-Kernel-General'] or EventID=13 or EventID=42]]" -MaxEvents 5 | select-object -Property TimeCreated, ID, Message | Format-Table -AutoSize -Wrap

Ohne "-Wrap" ist die Ausgabe einzeilig.

Jetzt sehe ich in Zukunft ob der PC, z.B. nachts, selbstständig ein Windows-Update durchgeführt hat oder, durch das aktivierte WakeOnLan, nicht aus versehen gestartet wurde.