Какой самый простой способ узнать, как долго компьютер включен в Windows?
Какой самый простой способ узнать, как долго компьютер включен в Windows?
Ответы:
Найти "Время загрузки системы"
Дней: 10 часов: 10 минут: 10 секунд: 10
Для более короткого результата вы можете использовать:
systeminfo | find "Boot Time"
systeminfo /S
* machinename * `| найти "Up Time" `
есть отличный инструмент командной строки от Microsoft uptime.exe :
Хорошо, что этот инструмент работает очень быстро.
Время работы [сервер] [/ s] [/ a] [/ d: мм / дд / гггг | / p: n] [/ heartbeat] [/? | / help]
Имя сервера или IP-адрес удаленного сервера для обработки.
/ s Показать ключевые системные события и статистику.
/ a Отображение событий сбоя приложения (предполагается / s).
/ d: рассчитывать только для событий после мм / дд / гггг.
/ p: рассчитывать только для событий за предыдущие n дней.
/ сердцебиение Включить / выключить сердцебиение системы
/? Основное использование.
/ help Дополнительная информация об использовании.
Откройте командную строку и введите:
net stats srv | find "Statistics"
Пример вывода:
>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14
Источник ( MS KB ).
Изменить : На самом деле это скажет вам дату и время, когда компьютер был с, а не продолжительность.
В Windows 7 / Windows Server 2008 и более поздних версиях эта информация отображается в диспетчере задач на вкладке «Производительность».
Это может быть быстрее, чем при использовании командной строки, и работает в тех случаях, когда у вас могут быть проблемы с WMI, мешающие запуску systeminfo.
Если вам нужно найти это удаленно, вы также можете запустить
systeminfo / s SERVERNAME | найти "Время:"
из командной строки.
Использование SYSTEMINFO с PowerShell
Для тех, кто любит использовать PowerShell, вы можете использовать приведенные выше ответы и systeminfo
включить функцию PowerShell, чтобы получить DateTime
результат для последней загрузки сервера :
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])
}
}
А затем вызовите функцию, например:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
Чтобы получить Uptime для сервера, вы сравниваете с текущим временем:
[PS]> $UpTime = (Get-Date) - $BootTime
Это TimeSpan
, который включает в себя такие свойства, как TotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
Иногда другая команда uptime отображает неправильное время, поэтому я использую эту команду для отображения LOGON TIME
query USER
или даже короче:
quser
который печатает что-то вроде:
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