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

16.38.8. Примеры

Задача: экспортировать список процессов в формате CSV для дальнейшего изучения. Для этой операции потребуется следующий скрипт:
 
function CreateCSVProcessReport(AReportFile : string) : boolean;
const
  FieldSeparator = ';';
var
  Lines : TStringList;
  i     : integer;
begin
  Result := false;
  if SC_INIT then begin
    if SC_SelectNode('AVZ\PROCESS') then begin
      Lines := TStringList.Create;
      for i := 0 to SC_GetItemsCount - 1 do
        if SC_GetTagName(i) = 'ITEM' then
          Lines.Add(SC_GetParamVal(i, 'PID', '') + FieldSeparator +
                SC_GetParamVal(i, 'File', '') + FieldSeparator +
                SC_GetParamVal(i, 'CheckResult', '') + FieldSeparator +
                SC_GetParamVal(i, 'MD5', '') + FieldSeparator
                );
      Lines.SaveToFile(AReportFile);
      Lines.Free;
      Result := true;
    end else
     AddToLog('[CSV] Ошибка: в результатах исследования нет данных о процессах');
    SC_FREE;
  end else
    AddToLog('[CSV] Ошибка: данные исследования системы недоступны')
end;
 
begin
  // Исследование системы - только процессы, отчет на диске не сохранять
  ExecuteSysCheckEX('avz_rep.htm', 1, true, 1+2+8+16+32);
  CreateCSVProcessReport('rep.csv');
end.
 
 
В примере использовались: AddToLog, ExecuteSysCheckEX, SC_FREE, SC_GetItemsCount, SC_GetParamVal, SC_GetTagNameSC_INITSC_SelectNode