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

Оглавление
- Что можно использовать для проверки последней перезагрузки
- Метод 1: Проверка через Командную строку
- Метод 2: PowerShell — точная дата и время, сценарии
- Метод 3: Просмотр логов Event Viewer (журналов событий)
- Быстрый шпаргалка: команды и сценарии для автоматизации
- Когда методы не показывают корректную информацию
- Ролевые чек-листы и практическое руководство
- Частые вопросы
Что можно использовать для проверки последней перезагрузки
Есть три основных и простых способа:
- Командная строка (systeminfo) — быстро и доступно на большинстве систем.
- PowerShell (Get-CimInstance) — точнее в сценариях автоматизации и для парсинга.
- Event Viewer — для разбора причин перезапуска и автора (пользователь/служба).
Ниже — подробные шаги и дополнительные рекомендации.
Метод 1: Проверка через Командную строку
Один из самых быстрых способов — использовать systeminfo.
- Откройте «Командную строку» от имени администратора.
- Введите команду:
systeminfo | find "System Boot Time"- Нажмите Enter и запомните дату и время, которые выведет команда.
Эта команда отображает время последней загрузки системы (Last Boot Time). Удобно при ручных проверках.
Важно: в локализованных версиях Windows локализованная строка в output может отличаться (например, на русской системе text может быть другим). Если команда ничего не возвращает, используйте альтернативный поиск по английской части или PowerShell (ниже).
Метод 2: PowerShell — точная дата и время, сценарии
PowerShell даёт структурированный результат, удобный для скриптов и удалённых проверок.
- Откройте PowerShell (обычно без дополнительных прав, но для удалённых запросов может понадобиться администратор).
- Выполните команду:
(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 полезен, когда нужно понять, кто или что вызвало перезагрузку и почему.
- Нажмите Windows + R, введите
eventvwr.msc, нажмите Enter. - Перейдите в «Журналы Windows» → «Система».
- Отфильтруйте или найдите события по 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 — некорректное завершение работы (краш)
Мини-методология для автоматизации проверки (шаги)
- Соберите список серверов (inventory).
- Запустите PowerShell-скрипт, который получает LastBootUpTime для каждого хоста.
- Преобразуйте в человекочитаемый формат и сохраните в CSV/БД.
- Сравните с ожидаемым 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 для некорректных завершений работы.
Похожие материалы
Проверить и исключить свои изображения из датасетов ИИ
Аннотирование скриншотов в Windows 11
Как пользоваться Walkie‑Talkie на Apple Watch
Windows 11 на Mac: виртуализация и Boot Camp
Установка Remix OS 3.0 на старый ПК