Chcesz znaleźć gotowe rozwiązanie, aby dowiedzieć się, jak długo działa komputer od ostatniego zamknięcia hybrydowego / szybkiego uruchomienia, prawda?
Możesz uzyskać te informacje (dostarczone przez @allquixotic) z EventLog za pomocą PowerShell w następujący sposób:
PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Aby osadzić polecenie PowerShell w skrypcie powłoki systemu Windows, możesz to zrobić w zamian:
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))
Jednak, aby uzyskać to po wyjęciu z pudełka, możesz zamiast tego ustawić stałą zmienną środowiskową:
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))"
więc możesz go uruchomić, otwierając cmd
okno i wykonując:
c:\> %HardwareUpTime%
AKTUALIZACJA:
Właśnie odkryłem dzisiaj, że użycie powyższego wpisu w dzienniku zdarzeń będzie również uwzględniać „tryb uśpienia” lub tryb zawieszenia, więc uruchomienie %HardwareUpTime%
pokaże ci czas, jaki upłynął od powrotu komputera do trybu uśpienia, jeśli na to pozwolisz.
Dlatego tutaj jest:
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));"
Zmodyfikowałem nieco to polecenie, aby było bardziej jednoznaczne i zawierało obie informacje:
Czas, który upłynął od uruchomienia systemu Windows (po hybrydowym wyłączeniu, pełnym zamknięciu lub zwykłym ponownym uruchomieniu lub hibernacji).
Czas, który upłynął od wznowienia działania systemu Windows (po powrocie z trybu uśpienia).
UWAGA: Jeśli system nie zasypiał pomiędzy, oba czasy będą takie same.