Sie möchten eine sofort einsatzbereite Lösung erhalten, um die Betriebszeit Ihrer Maschine seit dem letzten Herunterfahren / schnellen Start des Hybrids zu ermitteln, oder?
Sie können diese Informationen (wie von @allquixotic bereitgestellt) aus dem EventLog mit PowerShell wie folgt abrufen:
PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Um den Powershell-Befehl in ein Windows-Shell-Skript einzubetten, können Sie stattdessen Folgendes tun:
c:\> powershell.exe -nologo -command Write-Host $('Time since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source \"Microsoft-Windows-Power-Troubleshooter\" -Newest 1).TimeGenerated))
Damit dies jedoch sofort funktioniert, können Sie es stattdessen in eine permanente Umgebungsvariable wie diese setzen:
c:\> setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated))"
Sie können es dann zum Laufen bringen, indem Sie ein cmd
Fenster öffnen und Folgendes tun:
c:\> %HardwareUpTime%
AKTUALISIEREN:
Ich habe gerade heute festgestellt, dass bei Verwendung des obigen Eintrags im Ereignisprotokoll auch der Ruhezustand oder der Suspend-Modus berücksichtigt werden. %HardwareUpTime%
Wenn Sie also ausführen, wird die verstrichene Zeit angezeigt, seit der PC wieder aus dem Ruhezustand zurückgekehrt ist, wenn Sie dies zulassen.
Deshalb ist es hier:
setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"
Ich habe den Befehl ein wenig geändert, um ihn expliziter zu gestalten und Ihnen beide Informationen zu geben:
Verstrichene Zeit seit dem Start von Windows (entweder nach einem Hybrid-Herunterfahren, einem vollständigen Herunterfahren oder einem einfachen Neustart oder Ruhezustand).
Verstrichene Zeit seit der Wiederaufnahme der Ausführung durch Windows (nach Rückkehr aus dem Ruhemodus).
HINWEIS: Wenn das System nicht zwischendurch geschlafen hat, sind beide Zeiten gleich.