Опция 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, необходимого для сопоставления интересующих нас событий.
Однако вы можете заявить, что вы можете использовать триггер разблокировки рабочей станции без необходимости включения регистрации события, и вы, конечно, будете правы. Доступны триггеры для задачи:
Те, что я пометил зеленым цветом, можно указать с помощью параметра 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"