Время работы Windows – это измерение, которое многие администраторы сервера используют для устранения повседневных проблем, которые могут возникнуть в среде. В этой статье вы узнаете, как проверить время загрузки в Windows 10 и Windows Server. Вы можете использовать любой из предложенных способов. Используйте эту статью как справочник в будущем.
Статья будет разделена на две основные части: проверку времени работы сервера и поиск исторического времени работы Windows. Первая часть будет сосредоточена на определении того, сколько времени компьютер работает с момента последней перезагрузки. В этой статье это называется “текущее” время работы.
Вторая часть статьи будет посвящена поиску “исторического” времени работы, то есть времени, на которое Windows была включена между несколькими перезагрузками. С помощью PowerShell вы узнаете, как анализировать журнал событий Windows для получения исторических данных о времени работы.
Как проверить время загрузки в Windows 10 и Windows Server
Чтобы начать, давайте рассмотрим несколько разных способов для определения текущего времени работы Windows.
В этом разделе вы увидите демонстрацию того, как проверить время загрузки в Windows 10, выполнив команды локально на системе Windows. Однако знайте, что при использовании удаленного управления PowerShell вы также можете выполнять эти проверки удаленно (за исключением диспетчера задач).
Диспетчер задач
Один из самых простых и прямолинейных способов определить время работы – просто откройте Диспетчер задач.
Чтобы проверить время работы Windows с помощью диспетчера задач, щелкните правой кнопкой мыши на панели задач Windows и выберите Диспетчер задач или нажмите Ctrl–Shift–Esc. После открытия диспетчера задач щелкните на вкладке Производительность. На вкладке “Производительность” вы увидите метку Время работы.

Просмотр событий
Просмотр событий очень часто используется большинством системных администраторов для регулярного мониторинга, что делает его отличным вариантом для получения информации о времени работы без использования командной строки. События с ID 6005 и 6006 могут быть использованы для определения времени запуска или остановки службы журнала событий, что происходит при загрузке/выключении системы. Следуйте этим шагам, чтобы определить время работы через Просмотр событий:
- Откройте меню “Пуск” и просто выполните поиск Просмотр событий, вы также можете найти его через Управление компьютером.
- На левой панели разверните раздел “Журналы Windows” и выберите “Система”
- Теперь, когда мы запрашиваем только события, связанные с системой, нажмите “Отфильтровать текущий журнал…” на правой стороне окна
- В поле “Идентификатор события” (по умолчанию здесь будет предзаполнен текст “Все идентификаторы событий”) нам нужно искать наши соответствующие идентификаторы событий, введите “6005, 6006”, затем нажмите “ОК”
Затем вы можете сравнить два времени, чтобы определить общее время работы. Кроме того, так как хранится много записей этих событий, мы можем получить историю времени работы!
Теперь у вас есть отфильтрованный журнал событий, который покажет вам не только последнее время, но и все известные даты и времена загрузки/выключения системы.
PowerShell
PowerShell имеет несколько способов получения времени работы системы. Вы можете запросить WMI или использовать журнал событий Windows.
При запросе WMI вы можете обратиться к классу Win32_OperatingSystem и выбрать свойство LastBootUpTime
, как показано ниже.
Для запроса журнала событий через PowerShell используйте cmdlet Get-WinEvent
. Вам нужно будет искать события с ID 6005 или 6006, указывающие на последнее время запуска машины.
WMIC
WMIC предоставляет интерфейс командной строки для WMI и является проверенным методом, используемым многие годы. Для запроса времени работы через WMIC вы можете запросить класс WMI Win32_OperatingSystem, хотя это происходит несколько внутри. Как видно ниже, вы можете использовать синтаксис WMIC os get lastbootuptime
, чтобы получить время последнего запуска сервера.
Вам не нужно ничего загружать, чтобы воспользоваться WMIC, так как он предустановлен в Windows.
Утилита Информации о системе
Команда systeminfo отображает подробную информацию о конфигурации компьютера и может использоваться для запроса времени работы системы. С использованием встроенного инструмента командной строки find вы можете разбирать текст для получения необходимых данных.
Просто откройте командную строку или PowerShell и введите systeminfo | find
.
Вам не нужно ничего загружать, чтобы воспользоваться systeminfo
, поскольку оно поставляется предустановленным в Windows.
Команда Net Statistics
Вы также можете быстро запросить время безотказной работы через Net Statistics или, как его чаще называют, net stats
. Команда net stats
возвращает общую информацию о вашей сессии. Вы можете увидеть строку Статистика с… ниже. Эта дата указывает, когда был запущен компьютер.
Команда Uptime
Если вам нужная небольшая портативная утилита для определения времени безотказной работы Windows, не ищите далее, чем у NeoSmart Technologies Команда Uptime для Windows. Эта утилита идеально подходит для быстрого запроса времени безотказной работы на любой версии Windows. Основное преимущество этого инструмента – удобство. Если вы часто используете его в течение дня, вам может быть интересен этот метод.
После загрузки инструмента извлеките uptime.exe в %WinDir%\System32. Затем откройте командную строку и просто введите uptime
.

Чтобы запустить этот инструмент удаленно, сначала вам нужно скопировать инструмент на системы Windows, на которых вы проверяете время безотказной работы.
Представляем скрипт Get-ServerUptimeReport
Чтобы вам не пришлось писать скрипт PowerShell самостоятельно, загрузите сообщественный скрипт под названием Get-ServerUptimeReport.ps1.
Этот сценарий позволяет вам указать имя компьютера в качестве параметра. Затем он анализирует журнал событий Система компьютера и находит как начальное, так и конечное события для их сравнения. Затем он возвращает общее время, в течение которого сервер был в сети, пока не произойдет переполнение журнала событий.
Ниже приведен пример использования этого сценария на сервере. Он вернет общее время безотказной работы для всех событий, отраженных в журнале событий сервера, включая текущее время работы.
Поиск Времени Безотказной Работы Windows на Множестве Серверов
Этот сценарий – быстрый способ найти время безотказной работы одного сервера на протяжении многих дней. Но что если вам нужна эта информация для множества серверов сразу? Для этого вы можете собрать список серверов и затем передавать каждое имя компьютера по очереди этому сценарию.
В качестве примера определите все ваши серверы в массиве в консоли PowerShell. В этом примере переменная массива будет называться $servers
.
На практике, однако, вы можете извлекать имена серверов из Active Directory, Hyper-V или текстового файла. Пока у вас есть массив имен серверов, вы в порядке.
Определите все имена серверов, а затем перебирайте каждый с помощью цикла, как показано ниже.
Этот код работает, но вы не можете определить, на какой сервер относится каждая строка. Добавьте имя сервера к выводу, как показано ниже, с помощью вычисляемого свойства.
Теперь у нас есть отличный инструмент, который может предоставить нам быстрый отчет о времени безотказной работы наших серверов со временем!
Итог
Вы уже видели много различных способов определения времени работы Windows. Независимо от того, какой вариант вы выберете, вы получите одинаковую информацию. Выберите наилучший для вашего собственного контекста.
И помните, если вам нужен исторический отчет о времени безотказной работы, не забудьте о сценарии PowerShell Get-ServerUptimeReport
!