Как получить работоспособность системы в Windows? [закрыто]

308

Я использую Windows 7 и XP. Я хочу знать время работы системы.

Какова команда / процедура для получения времени работы?

Петер - Восстановить Монику
источник
5
Err, вы ищете команду в командной строке? Если да, то попробуйте net statistics serverв командной строке.
s0d4pop
13
Вопрос будет опубликован в суперпользователе
000
1
Как получить информацию о состоянии системы из командной строки очень четко связано с программированием.
Джон
На этот вопрос ответ на ServerFault: serverfault.com/questions/159612/…
см. также superuser.com/a/909172/33303, если вы также заинтересованы в режиме ожидания / гибернации
Janus Troelsen

Ответы:

685

Ниже приведены восемь способов найти Uptime в ОС Windows.

1: с помощью диспетчера задач

В Windows Vista и Windows Server 2008 диспетчер задач был улучшен для отображения дополнительной информации о системе. Одной из этих частей информации является время работы сервера.

  1. Щелкните правой кнопкой мыши на панели задач и выберите Диспетчер задач. Вы также можете нажать CTRL+ SHIFT+, ESCчтобы перейти к диспетчеру задач.
  2. В диспетчере задач выберите вкладку «Производительность».
  3. Текущее время работы системы отображается в разделе «Система или производительность» ⇒ CPU для Win 8/10.

    Поле «Время работы» в диспетчере задач

2: с помощью утилиты системной информации

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

systeminfo

Вы также можете сузить результаты до нужной вам строки:

systeminfo | find "System Boot Time:"

введите описание изображения здесь

3: с помощью утилиты Uptime

Microsoft опубликовала инструмент под названием Uptime.exe. Это простой инструмент командной строки, который анализирует информацию о надежности и доступности компьютера. Он может работать локально или удаленно. В простом виде инструмент отображает текущее время работы системы. Расширенный параметр позволяет получить доступ к более подробной информации, такой как завершение работы, перезагрузка, сбой операционной системы и установка пакета обновления.

Прочитайте следующий KB для получения дополнительной информации и ссылок для скачивания:

Чтобы использовать его, выполните следующие действия:

  1. Загрузите файл uptime.exe по приведенной выше ссылке и сохраните его в папке, предпочтительно в той, которая находится в системном пути (например, SYSTEM32).
  2. Откройте окно командной строки с повышенными правами. Чтобы открыть командную строку с повышенными привилегиями, нажмите кнопку «Пуск», выберите «Все программы», нажмите «Стандартные», щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Вы также можете ввести CMD в поле поиска в меню «Пуск», и когда вы увидите значок командной строки, щелкните по нему, чтобы выбрать его, удерживая CTRL+ SHIFTи нажмите ENTER.
  3. Перейдите туда, куда вы поместили утилиту uptime.exe.
  4. Запустите uptime.exeутилиту. Вы можете добавить /? к команде, чтобы получить больше вариантов. введите описание изображения здесь

Он не предлагает много параметров командной строки:

C:\uptimefromcodeplex\> uptime /?
usage: Uptime [-V]
    -V   display version

C:\uptimefromcodeplex\> uptime -V
version 1.1.0

3.1: с помощью старой утилиты Uptime

Существует более старая версия утилиты uptime.exe. Преимущество в том, что НЕ требуется .NET. (У этого также есть намного больше функций помимо простого времени безотказной работы.)

Ссылка для скачивания: Windows NT 4.0 Server Uptime Tool (uptime.exe) (финальная версия x86)

C:\uptimev100download>uptime.exe /?

UPTIME, Version 1.00
(C) Copyright 1999, Microsoft Corporation

Uptime [server] [/s ] [/a] [/d:mm/dd/yyyy | /p:n] [/heartbeat] [/? | /help]
        server          Name or IP address of remote server to process.
        /s              Display key system events and statistics.
        /a              Display application failure events (assumes /s).
        /d:             Only calculate for events after mm/dd/yyyy.
        /p:             Only calculate for events in the previous n days.
        /heartbeat      Turn on/off the system's heartbeat
        /?              Basic usage.
        /help           Additional usage information.

4: с помощью утилиты NET STATISTICS

Другой простой способ, если вы помните это, - использовать приблизительную информацию, найденную в статистике, отображаемой командой NET STATISTICS. Откройте командную строку и введите следующую команду:

net statistics workstation

Статистика должна указывать, как долго он работает, хотя в некоторых случаях эта информация не так точна, как другие методы.

введите описание изображения здесь

5: с помощью средства просмотра событий

Возможно, самый точный из них, но для этого нужно нажать. Он не отображает точное число дней или часов с момента последней перезагрузки, но отображает важную информацию о том, почему компьютер был перезагружен и когда он это сделал. Нам нужно взглянуть на событие с кодом 6005, которое говорит нам о том, что компьютер только что завершил загрузку, но вы должны учитывать тот факт, что существуют фактически сотни, если не тысячи других типов событий, из которых вы могли бы потенциально поучиться ,

Примечание. Кстати, идентификатор события 6006 - это то, что сообщает нам, когда сервер вышел из строя, поэтому, если существует большая разница во времени между событиями 6006 и 6005, сервер не работает в течение длительного времени.

Примечание. Вы также можете открыть «Просмотр событий», введя eventvwr.msc в команду «Выполнить», и вы также можете использовать ярлык в папке «Инструменты администрирования».

  1. Нажмите на Event Viewer (Local) в левой навигационной панели.
  2. На средней панели щелкните тип информационного события и прокрутите вниз, пока не увидите событие с идентификатором 6005. Дважды щелкните идентификатор события 6005 или щелкните его правой кнопкой мыши и выберите «Просмотреть все экземпляры этого события».
  3. Появится список всех экземпляров ИД события 6005. Вы можете просмотреть этот список, посмотреть даты и время каждого события перезагрузки и так далее.
  4. Откройте инструмент «Диспетчер серверов», щелкнув правой кнопкой мыши значок «Компьютер» в меню «Пуск» (или на рабочем столе, если он включен) и выберите «Управление». Перейдите к просмотру событий.

введите описание изображения здесь

5.1: Eventlog через PowerShell

Get-WinEvent -ProviderName eventlog | Where-Object {$_.Id -eq 6005 -or $_.Id -eq 6006}

6: Программно, используя GetTickCount64

GetTickCount64 возвращает количество миллисекунд, прошедших с момента запуска системы.

7: с помощью WMI

wmic os get lastbootuptime

8: новый uptime.exe для Windows XP и выше

Подобно инструменту от Microsoft, но совместим со всеми операционными системами вплоть до Windows 10 и Windows Server 2016, эта утилита времени бездействия не требует командной строки с повышенными привилегиями и предлагает возможность отображать время безотказной работы в обоих DD: HH: MM: SS и в удобочитаемых форматах (когда выполняется с параметром -hкомандной строки).

Кроме того, эта версия uptime.exeбудет работать и отображать время работы системы, даже если она обычно запускается из сеанса explorer.exe (т. Е. Не из командной строки), и приостанавливает чтение времени работы:

введите описание изображения здесь

и когда выполняется как uptime -h:

введите описание изображения здесь

Anil Kumar C
источник
2
6. WMI: wmic os получает время последней загрузки
от
3
Примечание для Win XP / 2003 : 1. не может использоваться (не отображается в диспетчере задач) 2. может не включать время загрузки (в любом случае, не на моем ПК), но явное время работы - в отличие от более позднего вывода Windows systeminfo. Обратите внимание, что вывод systeminfo локализован, поэтому в неанглийской версии Windows вам необходимо соответственно заменить «Время загрузки системы» или просто запустить systeminfoи проверить весь вывод
FelixD
48
Теперь это то, что я называю тщательным ответом! :-)
Эндрю Стейц
2
Обратите внимание, что время работы, указанное в «1: с помощью диспетчера задач», может отличаться от времени загрузки, поскольку оно не включает время, проведенное в режиме гибернации. Например, мой компьютер был загружен два дня назад, и время его работы составляет всего 8:20.
user1708042
3
Вариант 1 снова исчез в диспетчере задач Windows 8 .
BlaM
15

Я использую этот небольшой фрагмент PowerShell:

function Get-SystemUptime {
    $operatingSystem = Get-WmiObject Win32_OperatingSystem
    "$((Get-Date) - ([Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LastBootUpTime)))"
}

который затем дает что-то вроде следующего:

PS> Get-SystemUptime
6.20:40:40.2625526
детеныш
источник
Как вызвать это powershell изнутри python на windows?
Ciasto piekarz
@Ciastopiekarz: stackoverflow.com/questions/14508809/… ?
Джои
7

Два способа сделать это ..

Опция 1:

1.  Go to "Start" -> "Run".

2.  Write "CMD" and press on "Enter" key.

3.  Write the command "net statistics server" and press on "Enter" key.

4.  The line that start with "Statistics since …" provides the time that the server was up from.


  The command "net stats srv" can be use instead.

Вариант 2:

Инструмент Uptime.exe позволяет оценить доступность сервера с Windows NT 4.0 SP4 или выше

http://support.microsoft.com/kb/232243

Надеюсь, это помогло вам!

Правин Говинд
источник