Вопрос или проблема
На компьютере с Windows, есть ли способ увидеть дату и время, когда компьютер был загружен/включен? Что-то вроде команды uptime
в Linux.
Но я предпочел бы, чтобы она отображала точное время включения, а не время, прошедшее с тех пор. Например, если вы включили его сегодня в 14:30, то он бы отображал что-то вроде 9/16/2016 14:30
.
Может быть, взгляните сюда. Это довольно длинная статья о разных методах.
Резюме:
Интересно для вас:
- systeminfo (показывает абсолютное время)
systeminfo | findstr “System Boot Time:”
-
net statistics (показывает абсолютное время)
net statistics workstation
или
net statistics server
в зависимости от роли вашего компьютера
-
Powershell
Get-WinEvent -ProviderName eventlog | Where-Object {$.Id -eq 6005 -or $.Id -eq 6006}
-
WMI
wmic os get lastbootuptime
Не интересно для вас:
- Диспетчер задач (показывает время, прошедшее с момента загрузки)
- Утилита Uptime (требует отдельного инструмента, показывает время, прошедшее с момента загрузки)
Заслуги принадлежат автору упомянутой статьи в сообществе.
PowerShell 6.0 или выше:
Get-Uptime
Примеры из документации:
Пример 1 – Показать время с момента последней загрузки
Get-Uptime
Дни : 9
Часы : 0
Минуты : 9
Секунды : 45
Миллисекунды : 0
Тики : 7781850000000
Всего дней : 9.00677083333333
Всего часов : 216.1625
Всего минут : 12969.75
Всего секунд : 778185
Всего миллисекунд : 778185000
Пример 2 – Показать время последней загрузки
Get-Uptime -Since
Вторник, 18 июня 2019 14:34:56
Ответ или решение
Чтобы определить точное время, когда ваш компьютер под управлением Windows был включен, существуют несколько методов, которые аналогичны команде uptime
в Linux, но показывают не только время, прошедшее с момента последней загрузки, а именно то время, когда система была запущена. Ниже приводятся различные подходы к решению этой задачи с использованием встроенных возможностей Windows.
Теория
На компьютерах, работающих под управлением Windows, информация о времени последнего запуска системы может быть получена различными способами. Это могут быть команды, вводимые непосредственно в командной строке или PowerShell, а также использование Windows Management Instrumentation (WMI). Каждый метод имеет свои особенности и применим в зависимости от ваших предпочтений и задач.
Пример
-
Использование утилиты
systeminfo
:Одним из самых простых способов является использование команды
systeminfo
, которая предоставляет самую полную информацию о системе, включая время последнего загрузки. Для этого достаточно запустить команду:systeminfo | findstr "System Boot Time"
Эта команда извлечет информацию о времени последней загрузки системы из общего отчета
systeminfo
. -
Команда
net statistics
:Еще один способ получения нужной информации — это использование команды
net statistics
. Она отображает статистику работы сети, которая включает время, когда система была последовательно загружена. В зависимости от роли вашего компьютера, используйте одну из следующих команд:Для рабочего места:
net statistics workstation
Для сервера:
net statistics server
В выводе найдите строку с временем последнего запуска системы.
-
Использование PowerShell:
В более новых версиях Windows, начиная с PowerShell 6.0, доступна команда
Get-Uptime
, которая может показать время последней загрузки системы:Get-Uptime -Since
Эта команда выведет дату и время последней загрузки системы в формате
день недели, дата время
. -
Использование Windows Management Instrumentation (WMI):
WMI позволяет получить огромное количество информации о состоянии системы, в том числе и последние данные о загрузке. С помощью командной строки
wmic
можно быстро получить нужные данные:wmic os get lastbootuptime
Команда
wmic
выведет строку с датой и временем последней загрузки в форматеГГГГММДДЧЧММСС.МС
, который требует некоторой интерпретации для перевода в удобоваримое представление.
Применение
Эти методы могут быть использованы в различных сценариях. Например, системные администраторы могут использовать их для аудита времени работы серверов, чтобы убедиться, что системы функционируют надлежащим образом и регулярно перезапускаются для применения обновлений безопасности.
Пример из практики:
Вы являетесь IT-менеджером в компании и вам поручено мониторить время работы критически важных серверов для предотвращения непредвиденных сбоев. Используя комбинацию команд systeminfo
и Get-Uptime
в скриптах PowerShell, которые автоматически запускаются и записывают результаты в журнал, вы можете обеспечить постоянную своевременную загрузку серверов, тем самым минимизируя риск простоя.
Заключение
Знание времени, когда ваш компьютер или сервер был включен, может быть чрезвычайно полезным в различных ситуациях, таких как диагностика проблем, аудит безопасности и планирование ведомостей работы. Используя инструменты, уже доступные в Windows, такие как systeminfo
, net statistics
, PowerShell, и WMI, вы можете легко и эффективно получить эту информацию без необходимости устанавливать дополнительные программы. Эти методы также интегрируются в более сложные скрипты и автоматизированные процессы, что повышает их ценность в управлении инфраструктурой ИТ.