7

Я использую Windows 7 и хочу сделать запланированное задание с моими параметрами, используя утилиту режима командной строки планировщика заданий, которая называется "SchTasks".

Но есть некоторые проблемы с использованием Schtasks:

  1. Есть ли способ добавить триггер "на рабочей станции"?
  2. Есть ли способ добавить два или более триггеров?

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

3 ответа3

10

Опция 1

Событие с кодом 4801 соответствует рабочей станции, разблокированной. Вы можете включить ведение журнала для этого события, как я объясню в моем ответе здесь.

Теперь вы можете использовать Schtasks следующим образом, чтобы создать задачу , показываемых по этому событию:

schtasks /Create /RU "Username" /SC ONEVENT /MO "*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4801]]" /EC Security /TN "Taskname" /TR "Drive:\path to\program.exe" /F

Здесь я использовал параметр /EC, чтобы определить канал событий (в данном случае журнал безопасности ). Параметр MO или Modifier используется для указания фильтра XPath, необходимого для сопоставления интересующих нас событий.


Однако вы можете заявить, что вы можете использовать триггер разблокировки рабочей станции без необходимости включения регистрации события, и вы, конечно, будете правы. Доступны триггеры для задачи:

1

Те, что я пометил зеленым цветом, можно указать с помощью параметра schtasks /SC :

/SC   schedule     Specifies the schedule frequency.
                   Valid schedule types: MINUTE, HOURLY, DAILY, WEEKLY,
                   MONTHLY, ONCE, ONLOGON, ONSTART, ONIDLE, ONEVENT.

Те, что я пометил красным, похоже, не имеют соответствующих опций schtasks. Может быть неясный способ создания задач с использованием таких триггеров, но до настоящего времени я не нашел его и склонен думать, что это просто невозможно (отсутствие легко понятной, но подробной документации о параметрах schtasks тоже не помогает ).

Конечно, есть обходной путь, который приводит нас к (барабанная дробь, пожалуйста)...

Вариант 2

Просто создайте задачу с необходимыми триггерами (более одного, если хотите) с помощью пользовательского интерфейса планировщика задач и экспортируйте ее как XML. Теперь, конечно, вы можете импортировать XML по требованию и заново создать задачу:

schtasks /Create /TN "Taskname" /XML "ExportedTask.xml"
0

Для меня то, что сработало, это использовать системные параметры EventID 42 и /EC System следующим образом, основываясь на этом посте:Запись событий питания (сна и пробуждения) в журнал событий в сообществе Microsoft.

Так что следующие schtasks сработали для меня:

schtasks /create /sc onevent /mo "*[System[(EventID=42)]]" /EC System /tn task1 /tr "batchfile.bat"
0

Вместо включения аудита события разблокировки следующий код будет работать как есть.

schtasks /Create /SC ONEVENT /MO "*[System[(EventID=4624)]] and  *[EventData[Data[9]="7"]]" /EC Security /TN "PF9I" /TR "\"C:\Program Files\Five9PlantronicsInterface\MyApps.bat"\" /F

Хитрость заключается в том, что Data [9] соответствует свойству LogonType, а значение 7 соответствует событию разблокировки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .