16.40.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_GetTagName, SC_INIT, SC_SelectNode