Anda ingin mendapatkan solusi out-of-the-box untuk mengetahui uptime mesin Anda sejak shutdown / fast startup hybrid terakhir terjadi, kan?
Anda bisa mendapatkan informasi ini (seperti yang disediakan oleh @allquixotic) dari EventLog menggunakan PowerShell seperti ini:
PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Untuk menanamkan perintah powershell ke skrip shell Windows Anda bisa melakukan ini sebagai gantinya:
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))
Howerver, agar ini berfungsi, Anda bisa mengubahnya menjadi variabel lingkungan permanen seperti ini sebagai gantinya:
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))"
jadi, Anda bisa membuatnya bekerja dengan membuka cmd
jendela dan melakukan:
c:\> %HardwareUpTime%
MEMPERBARUI:
Saya baru saja menemukan hari ini bahwa menggunakan entri di atas dalam log peristiwa juga akan mempertimbangkan mode "Tidur" atau menunda, jadi menjalankan %HardwareUpTime%
akan memberi tahu Anda waktu yang telah berlalu sejak PC kembali dari tidur jika Anda membiarkannya.
Karena itu, ini dia:
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));"
Saya telah memodifikasi perintah ini sedikit lebih eksplisit dan memberi Anda kedua informasi:
Waktu yang berlalu sejak Windows di-boot (baik setelah hybrid shutdown, shutdown penuh atau reboot sederhana atau hibernasi).
Waktu yang berlalu sejak Windows melanjutkan eksekusi (setelah kembali dari mode tidur).
CATATAN: Jika sistem tidak tidur di antara keduanya, kedua waktu akan sama.