Sie möchten eine Out-of-the-Box-Lösung, um die Betriebszeit Ihrer Maschine seit dem letzten Hybrid-Herunterfahren / Schnellstart herauszufinden, oder?
Sie können diese Informationen (wie von @allquixotic bereitgestellt) im EventLog mit PowerShell wie folgt abrufen:
PS c:\> Write-Host $("" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Um den Befehl powershell in ein Windows-Shell-Skript einzubetten, können Sie stattdessen Folgendes tun:
c:\> powershell.exe -nologo -command Write-Host $('Time since last ''Fast Startup'': ' -f ((Get-Date)- (Get-EventLog -LogName system -Source \"Microsoft-Windows-Power-Troubleshooter\" -Newest 1).TimeGenerated))
Um dies zu erreichen, können Sie es stattdessen in eine permanente Umgebungsvariable wie folgt setzen:
c:\> setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since last ''Fast Startup'': ' -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 festgestellt, dass bei Verwendung des obigen Eintrags im Ereignisprotokoll auch der Modus "Ruhemodus" oder "Suspend" berücksichtigt %HardwareUpTime%
wird. Wenn Sie dies zulassen, wird Ihnen die laufende Zeit angezeigt, seit der PC den Ruhezustand wieder aufgenommen hat.
Deshalb hier ist es:
setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: ' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: ' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"
Ich habe den Befehl ein wenig geändert, um genauer zu sein und Ihnen beide Informationen zu geben:
Verstrichene Zeit seit dem Windows-Start (entweder nach einem Hybrid-Herunterfahren, einem vollständigen Herunterfahren oder einem einfachen Neustart oder Ruhezustand).
Verstrichene Zeit seit Wiederaufnahme der Ausführung von Windows (nach Rückkehr aus dem Ruhemodus).
HINWEIS: Wenn das System nicht dazwischen geschlafen hat, sind beide Zeiten gleich.