Узнайте, как давно проснулся компьютер с Windows

Узнайте, как давно проснулся компьютер с Windows

У меня есть резервный сервер, который пробуждается пакетом wake-on-lan, затем извлекает файлы с клиентов и снова переходит в спящий режим.

Иногда я включаю его через WOL и хочу оставить его включенным на пару часов.

Когда в это время запускается резервное копирование, скрипт резервного копирования отправляет сервер обратно в спящий режим, что мне не нужно, поскольку я намеревался отправить его в спящий режим вручную.

Я не хочу устанавливать/снимать флаг в файле, но хочу, чтобы сервер знал, что это резервное копирование началось, когда сервер был включен как минимум пару минут, и поэтому его не следует переводить в спящий режим.

Я выяснил, что диалоговое окно состояния сетевого интерфейса содержит поле «продолжительность», которое является хорошим индикатором того, как долго этот интерфейс был активен, что соответствует времени, в течение которого сервер был активен.

Как я могу получить доступ к этой информации программным путем, желательно через скрипт Python?

решение1

Ведение журнала событий Windowsотслеживает события типа «система вышла из спящего режима».

Проверьте пример кода Центра разработки Windows наЗапрос информации о событии.

Я не пользовался этим лично, но вы тоже сможете сделать то же самое с помощью Python.

Связанный контент