Qual è il modo più semplice per scoprire per quanto tempo viene acceso un computer su Windows?
Qual è il modo più semplice per scoprire per quanto tempo viene acceso un computer su Windows?
Risposte:
Trova "Tempo di avvio del sistema"
Giorni: 10 ore: 10 minuti: 10 secondi: 10
Per risultati più brevi è possibile utilizzare:
systeminfo | find "Boot Time"
systeminfo /S
* machinename * `| trova "Up Time" `
esiste un ottimo strumento da riga di comando di Microsoft uptime.exe :
buona cosa con questo strumento è che funziona molto velocemente.
Uptime [server] [/ s] [/ a] [/ d: mm / gg / aaaa | / p: n] [/ heartbeat] [/? | / help]
nome server o indirizzo IP del server remoto da elaborare.
/ s Visualizza eventi e statistiche chiave del sistema.
/ a Visualizza eventi di errore dell'applicazione (presuppone / i).
/ d: calcola solo per eventi dopo mm / gg / aaaa.
/ p: calcola solo per gli eventi negli n giorni precedenti.
/ heartbeat Attiva / disattiva il battito cardiaco del sistema
/? Utilizzo di base.
/ help Ulteriori informazioni sull'utilizzo.
Apri il prompt dei comandi e digita:
net stats srv | find "Statistics"
Esempio di output:
>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14
Fonte ( MS KB ).
Modifica : in realtà questo ti dirà la data e l'ora in cui il PC era acceso, non la durata.
Su Windows 7 / Windows Server 2008 e versioni successive, queste informazioni vengono visualizzate in Gestione attività nella "scheda Prestazioni".
Questo può essere più veloce quindi usando la riga di comando e funziona nei casi in cui potresti avere problemi WMI che ti impediscono di eseguire systeminfo.
Se è necessario trovarlo da remoto, è possibile eseguire anche
systeminfo / s SERVERNAME | trova "Tempo:"
dalla riga di comando.
Utilizzo di SYSTEMINFO con PowerShell
Per coloro a cui piace usare PowerShell, è possibile utilizzare le risposte sopra riportate e inserire systeminfo
una funzione PowerShell per ottenere un DateTime
risultato per l'ultimo avvio del server :
function Get-ComputerBootTime {
param($ComputerName = (hostname))
$SystemInfo = & systeminfo /s $ComputerName | Select-String "System Boot Time")
if($SystemInfo -match "[\d/]+,\s+\S+"){
return (Get-Date $matches[0])
}
}
E quindi chiama la funzione, ad esempio:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
Per ottenere l' Uptime per il server, si confronta con l'ora corrente:
[PS]> $UpTime = (Get-Date) - $BootTime
Questo è un TimeSpan
, che include proprietà come TotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
A volte l'altro comando uptime visualizza un orario non corretto, quindi uso questo comando per visualizzare il LOGON TIME
query USER
o anche più breve:
quser
che stampa qualcosa di simile:
C:\Users\eflorinescu>query USER
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>eflorinescu console 2 Active 2+23:44 5/7/2018 8:25 AM