Qual é a maneira mais simples de descobrir por quanto tempo um computador está ligado no Windows?
Qual é a maneira mais simples de descobrir por quanto tempo um computador está ligado no Windows?
Respostas:
Encontre "Tempo de inicialização do sistema"
Dias: 10 Horas: 10 Minutos: 10 Segundos: 10
Para resultados mais curtos, você pode usar:
systeminfo | find "Boot Time"
systeminfo /S
* machinename * `| encontrar "Up Time" `
existe uma excelente ferramenta de linha de comando do Microsoft uptime.exe :
O bom dessa ferramenta é que ela funciona muito rápido.
Tempo de atividade [servidor] [/ s] [/ a] [/ d: mm / dd / aaaa | / p: n] [/ batimento cardíaco] [/? | / help]
nome do servidor ou endereço IP do servidor remoto a ser processado.
/ s Exibe os principais eventos e estatísticas do sistema.
/ a Exibir eventos de falha do aplicativo (assume / s).
/ d: calcula apenas eventos após mm / dd / aaaa.
/ p: calcula apenas para eventos nos n dias anteriores.
/ pulsação Ligar / desligar a pulsação do sistema
/? Uso básico.
/ help Informações adicionais de uso.
Abra o prompt de comando e digite:
net stats srv | find "Statistics"
Exemplo de saída:
>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14
Fonte ( MS KB ).
Edit : Na verdade, isso informará a data e a hora em que o PC foi iniciado, e não a duração.
No Windows 7 / Windows Server 2008 e superior, essas informações são exibidas no gerenciador de tarefas na "guia Desempenho".
Isso pode ser mais rápido do que usar a linha de comando e funcionar nos casos em que você possa ter problemas com o WMI, impedindo a execução de informações do sistema.
Se você precisar encontrá-lo remotamente, também poderá executar
systeminfo / s SERVERNAME | Encontre tempo:"
a partir da linha de comando.
Usando SYSTEMINFO com PowerShell
Para quem gosta de usar o PowerShell, você pode usar as respostas acima e agrupar systeminfo
uma função do PowerShell para obter um DateTime
resultado para quando o servidor foi inicializado pela última vez :
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, em seguida, chame a função, por exemplo:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
Para obter o tempo de atividade do servidor, compare com o horário atual:
[PS]> $UpTime = (Get-Date) - $BootTime
Este é um TimeSpan
, que inclui propriedades como TotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
Às vezes, o outro comando de tempo de atividade exibe um horário incorreto, então eu uso esse comando para exibir o LOGON TIME
query USER
ou menor ainda:
quser
que imprime algo como:
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