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?
Google hat mir bis jetzt nicht wirklich weitergeholfen. Bekomme meist nur Ergebnisse, wie man Batch Jobs direkt nach einem Wakeup startet
Kennt jemand von euch einen Befehl der mir helfen könnte?
Eventuell über das Auslesen des Windows Eventlogs?
Vielen Dank
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
Kennt jemand von euch einen Befehl der mir helfen könnte?
Eventuell über das Auslesen des Windows Eventlogs?
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 244701
Url: https://administrator.de/contentid/244701
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo drobskind,
wenn's Powershell sein darf geht das Auslesen des letzten Wakeups hiermit auf einem Windows 7 x64:
oder hiermit:
Falls man genauere Werte für den Start, Ende und Dauer des Sleep benötigt, lässt sich das hiermit anzeigen:
Grüße Uwe
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
Get-EventLog -LogName System -Newest 1 -InstanceId 1 -Source 'Microsoft-Windows-Power-Troubleshooter' | select -Expand TimeGenerated
$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
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.
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.