Vuoi ottenere una soluzione pronta all'uso per scoprire i tempi di attività della tua macchina dall'ultimo arresto ibrido / avvio rapido, giusto?
Puoi ottenere queste informazioni (come fornite da @allquixotic) da EventLog usando PowerShell in questo modo:
PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Per incorporare il comando PowerShell in uno script della shell di Windows, è possibile eseguire questa operazione:
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))
Inoltre, per far funzionare questo fuori dalla scatola, puoi invece impostarlo in una variabile di ambiente permanente come questa:
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))"
quindi, puoi farlo funzionare aprendo una cmd
finestra e facendo:
c:\> %HardwareUpTime%
AGGIORNARE:
Oggi ho appena scoperto che l'uso della voce precedente nel registro eventi terrà conto anche della modalità "Sospensione" o della modalità di sospensione, quindi l'esecuzione %HardwareUpTime%
ti dirà il tempo trascorso da quando il PC ha ripreso a dormire se lo lasci fare.
Pertanto, eccolo qui:
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));"
Ho modificato un po 'il comando per essere più esplicito e darti entrambe le informazioni:
Tempo trascorso dall'avvio di Windows (dopo uno spegnimento ibrido, uno spegnimento completo o un semplice riavvio o ibernazione).
Tempo trascorso da quando Windows ha ripreso l'esecuzione (dopo essere tornato dalla modalità sospensione).
NOTA: se il sistema non ha dormito nel mezzo, entrambe le volte saranno uguali.