42

Какой самый простой способ узнать, как долго компьютер включен в Windows?

8 ответов8

50
  • Запустить командную строку
  • Тип Systeminfo
  • Найти "Время загрузки системы"

    Дней: 10 часов: 10 минут: 10 секунд: 10

Для более короткого результата вы можете использовать:

systeminfo | find "Boot Time" 
11

есть отличный инструмент командной строки от Microsoft uptime.exe:

http://www.microsoft.com/downloads/details.aspx?FamilyID=BC18FFDB-D6FE-400B-B892-94783AE44C91&displaylang=en

Хорошо, что этот инструмент работает очень быстро.

Время работы [сервер] [/s] [/a] [/d: мм / дд / гггг | / p: n] [/ heartbeat] [/? | /Помогите]
Имя сервера или IP-адрес удаленного сервера для обработки.
/s Показать ключевые системные события и статистику.
/a Показать события сбоя приложения (предполагается /s).
/d: рассчитывать только для событий после мм / дд / гггг.
/ p: рассчитывать только для событий за предыдущие n дней.
/ сердцебиение Включить / выключить сердцебиение системы
/? Основное использование.
/ help Дополнительная информация об использовании.

10

Откройте командную строку и введите:

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).

Изменить: На самом деле это скажет вам дату и время, когда компьютер был с, а не продолжительность.

6

В Windows 7 / Windows Server 2008 и выше эта информация отображается в диспетчере задач на вкладке "Производительность".

Это может быть быстрее, чем при использовании командной строки, и работает в тех случаях, когда у вас могут быть проблемы с WMI, мешающие запуску systeminfo.

где найти уптием

Если вам нужно найти это удаленно, вы также можете запустить

systeminfo /s SERVERNAME | найти "Время:"

из командной строки.

4

Следующая команда дает время последней перезагрузки для удаленной системы:

systeminfo /s server_name | find "System Boot Time"
1

Иногда другая команда 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
1

Если у вас есть наборы ресурсов Windows Server 2000 или 2003, попробуйте

srvinfo -ns [\\\server] | Findstr "Time"

Примечание. Srvinfo.exe не будет работать в 64-разрядных версиях Windows, поскольку он 16-разрядный.

1

Использование 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .