LogParser - подстановка значений данных журнала событий
Я не очень разбираюсь в сценариях, и у меня есть небольшое требование для анализа журналов событий безопасности Windows для трафика брандмауэра.
С этой целью я начал смотреть на LogParser, и он, кажется, делает почти все, что мне нужно, но у меня возникли небольшие проблемы, связанные с заменой определенных значений, извлеченных из журналов, на что-то более читабельное.
Мой сценарий очень прост:
SELECT
TimeGenerated AS Time,
EventTypeName AS Event,
EXTRACT_TOKEN(Strings, 0,'|') AS ProcessID,
EXTRACT_TOKEN(Strings, 1,'|') AS Process,
EXTRACT_TOKEN(Strings, 7,'|') AS Protocol,
EXTRACT_TOKEN(Strings, 2,'|') AS Direction,
EXTRACT_TOKEN(Strings, 3,'|') AS SourceAddress,
EXTRACT_TOKEN(Strings, 4,'|') AS SourcePort,
EXTRACT_TOKEN(Strings, 5,'|') AS DestinationAddress,
EXTRACT_TOKEN(Strings, 6,'|') AS DestinationPort
FROM Security
WHERE EventID IN (5152; 5153; 5154; 5155; 5156; 5157; 5158)
Хотя это дает интересующую меня информацию, я хотел бы, если возможно, изменить вывод. Например, вывод столбца "Процесс":
\ Device\harddiskvolume2\ приложения \ Mozilla\ FX-4\firefox.exe
Что мне действительно нравится, так это просто отображать имя процесса без пути. Аналогично, в столбце "Протокол" просто отображается числовое значение протокола. Я предпочитаю, чтобы он отображал "фактический" протокол.
Наконец, в столбце "Направление" отображаются числовые значения %%14592 и %%14593, и я предпочел бы видеть соответственно In и Out.
Если кто-нибудь может помочь, я был бы очень благодарен.
Спасибо
1 ответ
На вопрос о вашем имени файла работает ли процесс AS EXTRACT_FILENAME(EXTRACT_TOKEN(Strings, 1,'|'))?
Для вашего другого вопроса, как насчет:
CASE EXTRACT_TOKEN (Strings, 2, '|') WHEN '%% 14592' THEN 'IN' ELSE 'OUT' END Как направление