Как экспортировать исторический журнал планировщика задач Windows, используя python? - PullRequest
1 голос
/ 30 июня 2019

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

1 Ответ

0 голосов
/ 30 июня 2019

Похоже, у этого вопроса есть пример получения данных, о которых вы спрашиваете.https://stackoverflow.com/a/36635050/4734574

Обновление:

Я использовал первый пример по ссылке и получил все задачи, настроенные в моей системе.Если вы не видите все задачи, это может быть проблема с разрешениями UAC (контроль учетных записей).В этом случае вы можете запустить ваш dos / git-bash с правами администратора.

  1. pip install pywin32
  2. запустить следующий скрипт Python:

task_dump.py

import win32com.client

TASK_ENUM_HIDDEN = 1
TASK_STATE = {0: 'Unknown',
              1: 'Disabled',
              2: 'Queued',
              3: 'Ready',
              4: 'Running'}

scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()

n = 0
folders = [scheduler.GetFolder('\\')]
while folders:
    folder = folders.pop(0)
    folders += list(folder.GetFolders(0))
    tasks = list(folder.GetTasks(TASK_ENUM_HIDDEN))
    n += len(tasks)
    for task in tasks:
        settings = task.Definition.Settings
        print('Path       : %s' % task.Path)
        print('Hidden     : %s' % settings.Hidden)
        print('State      : %s' % TASK_STATE[task.State])
        print('Last Run   : %s' % task.LastRunTime)
        print('Last Result: %s\n' % task.LastTaskResult)
print('Listed %d tasks.' % n)

Примечание: Я не вносил изменений в исходный пост постеров.

Выполнение: python task_dump.py > tasks.log

Пример результата

Path       : \NvBatteryBoostCheckOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-30 10:15:36+00:00
Last Result: 0

Path       : \NvDriverUpdateCheckDaily_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-29 22:25:26+00:00
Last Result: 0

Path       : \NVIDIA GeForce Experience SelfUpdate_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 1999-11-30 00:00:00+00:00
Last Result: 267011

Path       : \NvNgxUpdateCheckDaily_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-29 23:25:31+00:00
Last Result: 1

Path       : \NvNodeLauncher_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-30 10:13:35+00:00
Last Result: -2147467259

Path       : \NvProfileUpdaterDaily_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-29 22:25:22+00:00
Last Result: 0

Path       : \NvProfileUpdaterOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-30 10:15:36+00:00
Last Result: 0

Path       : \NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}
Hidden     : False
State      : Ready
Last Run   : 2019-06-30 10:15:36+00:00
Last Result: 0
...