Заготовка скрипта для сканирования сети

Наверх  Предыдущая  Последующая |

Заготовка типового скрипта для сканирования множества ПК в сети:

 

begin

 // Проверка - блокировки запуска

 if pos('первые буквы имени', GetComputerName) = 1 then ExitAVZ;

 if GetComputerName = 'имя1' then ExitAVZ;

 if GetComputerName = 'имя2' then ExitAVZ;

 // Пауза на 50 сек, чтобы не мешать автозагрузке 

 Sleep(50);

 // Настройка AVZ

 SetupAVZ('UseQuarantine=Y'); // Включить карантин

 SetupAVZ('nw=Y'); // Сетевой режим карантина

 SetupAVZ('Priority=-1'); // Пониженный приоритет

 SetupAVZ('EvLevel=3'); // Эвристика на максимум 

 SetupAVZ('ExtEvCheck=Y'); // Расширенный анализ включен 

 SetupAVZ('DelVir=Y'); // Включить лечение 

 // Активирование сторожевого таймера на 15 минут

 ActivateWatchDog(60 * 15); 

 // Запуск сканирования

 RunScan;

 // Добавление данных о имени ПК

 AddToLog('---------------');

 AddToLog('Протокол с компьютера '+GetComputerName);

 AddToLog('Путь к AVZ = ' + GetAVZDirectory);

 // Автокарантин

 ExecuteAutoQuarantine;

 // Сохранение протокола

 SaveLog(GetAVZDirectory+'\LOG\'+GetComputerName+'_ log.txt'); 

 // Завершение работы AVZ 

 ExitAVZ;

end. 

 

Параметры запуска AVZ в этом случае:

\\my_server\AVZ\avz.exe Priority=-1 nw=Y nq=Y HiddenMode=2 Script=\\my_server\AVZ\netscan.avz

 

при этом предполагается, что AVZ находится в папке \\my_server\AVZ, а скрипт сохранен в файле netscan.avz.

Некоторые комментарии по скрипту и параметрам запуска:

Priority=-1 - запускает AVZ с пониженным приоритетом, чтобы он не мешал работе компьютера. Этот ключ дублируется в скрипте и командной строке и в принципе не обязателен в случае сканирования современных ПК
nw=Y - аналогично, дублируется в командной строке и скрипте (дублирование это не обязательно, достаточно в одном месте). Этот ключ переключает карантин в "сетевой режим" - в нем в папке Quarantine появляется еще один уровень - по сетевому имени компьютера
HiddenMode=2 - запуск AVZ в скрытом режиме - в трее на время сканирования видна иконка AVZ, но доступ пользователя к органам управления AVZ-ом блокирован. Папку Quarantine необходимо предварительно создать и выдать пользователям права на запись в нее
SaveLog(GetAVZDirectory+'\LOG\'+GetComputerName+'_ log.txt'); - в данном случае сохранение протокола идет в рабочем каталоге AVZ, причем протокол содержит в имени имя компьютера. Папку LOG необходимо предварительно создать и выдать пользователям права на запись в нее
Вызов ExecuteAutoQuarantine; в скрипте для обычного сканирования следует закомментировать - эта функция собирает все файлы, находящиеся в памяти или автозапуске и не опознанные как безопасные и системные. Сбор таких файлов удобен для их последующей проверки несколькими антивирусами
Проверки вида "if pos('первые буквы имени', GetComputerName) = 1 then ExitAVZ;" и "if GetComputerName = 'имя2' then ExitAVZ;" естественно не обязательны  и позволяют исключать из сканирования компьютеры с заданными сетевыми именами. Это удобно для отключения ежедневного сканирования компьютеров администраторов сети и IT-специалистов (но при этом AVZ у них находится в автозапуске и в случае чего можно убрать фильтр и включить их ПК в сканирование).