Во-первых, я не системный администратор, а разработчик.
Мы проводим техническое обслуживание системы, в результате которого наши рабочие серверы будут отключены в течение ~ 14 часов. Мне было поручено убедиться, что любые / все запланированные задачи (а их сотни по всему домену), которые были «пропущены» в течение этого периода времени, были выполнены после того, как мы снова подключимся к сети.
Я предполагаю, что есть относительно простой способ запросить запланированные задачи, которые будут выполняться в течение определенного периода времени, но я не знаю, как это сделать.
У нас есть задачи, которые выполняются с интервалом от 5 минут до 2 лет, поэтому я бы предпочел какой-либо запрос (Powershell или schtasks.exe?), Который просто отображает те, которые будут выполняться в течение определенного 14-часового окна.
У кого-нибудь есть идеи по этому поводу?
Моя единственная идея на данный момент - заставить schtasks.exe сбрасывать все задачи, а затем выполнять какой-то анализ результатов, но это кажется ... неприглядным.
Заранее спасибо.
Мне удалось собрать консольное приложение, используя эту библиотеку из Code Project.
http://www.codeproject.com/KB/cs/tsnewlib.aspx
Ура!
WMI имеет Win32_ScheduledJob
класс:
В
Win32_ScheduledJob
Класс WMI представляет задание, созданное с помощью В команда. В Win32_ScheduledJob не представляет собой задание, созданное с помощью мастера запланированных задач из панели управления. Вы не можете изменить задачу, созданную WMI, в пользовательском интерфейсе запланированных задач.
Так что это только часть ответа. Поиск в MSDN для "Запланированное задание" получает много обращений в КБ ... так можно найти API.