Гид по технологиям

Как проверить время последней перезагрузки в Windows Server

5 min read Windows Server Обновлено 19 Dec 2025
Проверить время перезагрузки Windows Server
Проверить время перезагрузки Windows Server

Скриншот: как проверить время последней перезагрузки Windows Server

Оглавление

  • Что можно использовать для проверки последней перезагрузки
  • Метод 1: Проверка через Командную строку
  • Метод 2: PowerShell — точная дата и время, сценарии
  • Метод 3: Просмотр логов Event Viewer (журналов событий)
  • Быстрый шпаргалка: команды и сценарии для автоматизации
  • Когда методы не показывают корректную информацию
  • Ролевые чек-листы и практическое руководство
  • Частые вопросы

Что можно использовать для проверки последней перезагрузки

Есть три основных и простых способа:

  • Командная строка (systeminfo) — быстро и доступно на большинстве систем.
  • PowerShell (Get-CimInstance) — точнее в сценариях автоматизации и для парсинга.
  • Event Viewer — для разбора причин перезапуска и автора (пользователь/служба).

Ниже — подробные шаги и дополнительные рекомендации.

Метод 1: Проверка через Командную строку

Один из самых быстрых способов — использовать systeminfo.

  1. Откройте «Командную строку» от имени администратора.
  2. Введите команду:
systeminfo | find "System Boot Time"
  1. Нажмите Enter и запомните дату и время, которые выведет команда.

Эта команда отображает время последней загрузки системы (Last Boot Time). Удобно при ручных проверках.

Важно: в локализованных версиях Windows локализованная строка в output может отличаться (например, на русской системе text может быть другим). Если команда ничего не возвращает, используйте альтернативный поиск по английской части или PowerShell (ниже).

Метод 2: PowerShell — точная дата и время, сценарии

PowerShell даёт структурированный результат, удобный для скриптов и удалённых проверок.

  1. Откройте PowerShell (обычно без дополнительных прав, но для удалённых запросов может понадобиться администратор).
  2. Выполните команду:
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime

Вы увидите точную метку последней загрузки в формате WMI. Для удобочитаемого формата можно добавить преобразование:

[Management.ManagementDateTimeConverter]::ToDateTime((Get-CimInstance Win32_OperatingSystem).LastBootUpTime)

Использование в сценариях: эту команду легко выполнить удалённо через Invoke-Command или в рамках автопроверок состояния на множестве серверов.

Совет: при проверке нескольких хостов соберите результат в CSV:

$hosts = Get-Content hosts.txt
$hosts | ForEach-Object { $boot = Invoke-Command -ComputerName $_ -ScriptBlock { [Management.ManagementDateTimeConverter]::ToDateTime((Get-CimInstance Win32_OperatingSystem).LastBootUpTime) } ; [PSCustomObject]@{Host=$_; LastBoot=$boot} } | Export-Csv boots.csv -NoTypeInformation

Метод 3: Просмотр логов Event Viewer (журнал событий)

Event Viewer полезен, когда нужно понять, кто или что вызвало перезагрузку и почему.

  1. Нажмите Windows + R, введите eventvwr.msc, нажмите Enter.
  2. Перейдите в «Журналы Windows» → «Система».
  3. Отфильтруйте или найдите события по ID:
    • 6005 — журнал служб стартовал (обычно указывает на запуск журнала после загрузки),
    • 6006 — завершение работы журнала (шутатдаун),
    • 1074 — инициированная перезагрузка/завершение работы, содержит информацию об аккаунте или службе,
    • 6008 — некорректное завершение работы (краш/паника).

Чтобы быстро найти события 1074 через PowerShell:

Get-EventLog -LogName System -InstanceId 1074 -Newest 20

Важно: в крупных средах Event Viewer может содержать огромное количество записей — используйте фильтры по времени и ID.

Быстрый шпаргалка: команды и сценарии (cheat sheet)

  • Командная строка: systeminfo | find “System Boot Time”
  • PowerShell (WMI): (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
  • PowerShell (читабельно): [Management.ManagementDateTimeConverter]::ToDateTime(…)
  • Event Viewer: Event ID 1074, 6005, 6006, 6008

Мини-скрипт для локальной проверки и вывода человекочитаемого времени:

$dt = [Management.ManagementDateTimeConverter]::ToDateTime((Get-CimInstance Win32_OperatingSystem).LastBootUpTime)
"Последняя загрузка: $dt"

Когда методы могут дать неверную информацию (когда это не сработает)

  • Виртуальные машины: восстановление из сна/снэпшота может изменить perceived uptime.
  • Неправильная часовая зона или некорректные системные часы приведут к неверной метке времени.
  • Кэшированные/локализованные строки systeminfo могут не совпадать с шаблоном поиска find.
  • Если служба WMI повреждена, PowerShell/WMI-запросы могут возвращать ошибку.

Рекомендации: сверяйте сразу несколько источников (systeminfo + Event Viewer) при сомнениях.

Ролевые чек-листы (оператор, инженер по безопасности, менеджер)

Оператор: быстрый чек-лист

  • Запустить systeminfo или PowerShell.
  • Сравнить время с ожидаемой плановой перезагрузкой.
  • Зафиксировать в тикете, если разрыв больше допустимого.

Инженер по безопасности:

  • Проверить Event ID 1074 в ближайшие 24 часа до инцидента.
  • Поискать 6008 (неожиданный шутатдаун).
  • Сопоставить пользователя/службу, указанных в 1074, с правами и патч-окном.

Менеджер/администратор инфраструктуры:

  • Автоматизировать сбор показателей uptime для всех серверов.
  • Настроить оповещения при неожидаемом перезапуске (например, через SIEM).

Факто-бокс: основные Event ID

  • 1074 — инициированная перезагрузка (с указанием инициатора и причины)
  • 6005 — запуск журнала событий (обычно следует после загрузки)
  • 6006 — нормальное завершение работы журнала (shutdown)
  • 6008 — некорректное завершение работы (краш)

Мини-методология для автоматизации проверки (шаги)

  1. Соберите список серверов (inventory).
  2. Запустите PowerShell-скрипт, который получает LastBootUpTime для каждого хоста.
  3. Преобразуйте в человекочитаемый формат и сохраните в CSV/БД.
  4. Сравните с ожидаемым SLA/uptime, отправьте алерт при аномалиях.

Пример ветвления решения (Mermaid):

flowchart TD
  A[Начало проверки] --> B{Сервер доступен?}
  B -- Да --> C[Выполнить PowerShell запрос]
  B -- Нет --> D[Отметить как недоступен, попытка повторить]
  C --> E{Получен результат?}
  E -- Да --> F[Сохранить время загрузки]
  E -- Нет --> G[Проверить WMI/Event Viewer]
  G --> H[Отправить уведомление инженеру]
  F --> I[Анализ соответствия SLA]
  I --> J[Завершить]

Итог

Проверка времени последней перезагрузки — простая, но важная операция для администрирования Windows Server. Для быстрых проверок используйте systeminfo, для автоматизации и парсинга — PowerShell, а для расследований и причины перезагрузки — Event Viewer и Event ID 1074. Всегда сверяйте данные между методами и учитывайте особенности виртуализации и часовых поясов.

Частые вопросы

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

Выполните в Командной строке:

systeminfo | find "System Boot Time"

или в PowerShell:

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime

Как узнать, кто перезагрузил сервер?

Откройте Event Viewer → Журналы Windows → Система и найдите событие с ID 1074 — там указывается аккаунт или процесс, который инициировал перезагрузку.

Как найти причину последней перезагрузки?

Смотрите Event ID 1074 (инициатор и причина), а также 6008 для некорректных завершений работы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Проверить и исключить свои изображения из датасетов ИИ
Право и защита

Проверить и исключить свои изображения из датасетов ИИ

Аннотирование скриншотов в Windows 11
How-to

Аннотирование скриншотов в Windows 11

Как пользоваться Walkie‑Talkie на Apple Watch
Гаджеты

Как пользоваться Walkie‑Talkie на Apple Watch

Windows 11 на Mac: виртуализация и Boot Camp
macOS

Windows 11 на Mac: виртуализация и Boot Camp

Установка Remix OS 3.0 на старый ПК
Руководство

Установка Remix OS 3.0 на старый ПК

Устранение запроса сетевых учетных данных в Windows
Windows

Устранение запроса сетевых учетных данных в Windows