AVZ 5. Руководство пользователя
×

16.31.1. procedure DeleteSchedulerTask

procedure DeleteSchedulerTask(ATaskName : string; AForceRegMode : integer = 0);
 
Осуществляет удаление задания планировщика с именем ATaskName, с последующей чисткой соответствующих ключей реестра, хранящих настройки планировщика задания. Удаляется только задание, вызываемые им исполняемые файлы не удаляются.
 
Параметры:
 
ATaskName - имя удаляемого задания. Обязательный параметр. Важно отметить, что функция никак не проверяет легитимность задания, и может удалить любое задание планировщика по заданному имени при условии, что оно существует в системе.
AForceRegMode - необязательный параметр, управляющий режимом чистки реестра.
 
Если параметр AForceRegMode равен нулю (значение по умолчанию), то чистка реестра производится автоматически только в том случае, если задание с именем ATaskName существует и было успешно удалено. При этом, в зависимости от типа задания, выполняется чистка соответствующих заданию x32 или x64 веток реестра.
 
Однако возможны ситуации, в которых задание уже было ранее удалено (например: вручную, антивирусом в ходе лечения), но связанные с заданием настройки планировщика в реестре не почищены. В такой ситуации планировщик заданий может выдавать ошибки при работе с заданиями, а само удаленное задание может продолжать выполняться на основании сведений, сохраненных в реестре. Для решения проблемы в этом случае следует задать  отличный от нуля AForceRegMode.
 
Поддерживаемые значения AForceRegMode:
0 - автоматическая чистка, выполняется только для найденных по имени и успешно удаленных заданий. Режим по умолчанию.
1 - в дополнение к автоматической чистке выполнить принудительную чистку x32 ветки реестра с настройками планировщика заданий.
2 - в дополнение к автоматической чистке выполнить принудительную чистку x64 ветки реестра с настройками планировщика заданий.
3 - в дополнение к автоматической чистке выполнить принудительную чистку и x32, и x64 ветки реестра с настройками планировщика заданий (по сути, аналог последовательного выполнения двух предыдущих режимов)
 
В режимах 1-3 поиск и принудительная чистка ведется по названию задания из ATaskName, независимо от того, было такое задание найдено и удалено, или нет. Использовать отличный от 0 режим AForceRegMode режим следует только по необходимости, убедившись, что удаляется явно вредоносное задание с уникальным, отличным от легитимных заданий именем.
 
На заметку: в ходе эвристической чистки системы при помощи ExecuteSysClean для всех удаляемых заданий выполняется чистка реестра, эквивалентная вызову DeleteSchedulerTask с параметром AForceRegMode=0.
 
Пример:
 
begin
  DeleteSchedulerTask('Некое зловредное задание 1');
  DeleteSchedulerTask('Некое зловредное задание 2', 3);
end.
 
 
 
Совместимость: AVZ 5.07 и выше