LogParser - 事件日志数据值替换

时间:2011-03-26 08:07:54

标签: logparser

我不是一个脚本专家,我只需要分析Windows安全事件日志中的防火墙流量。

为此,我开始关注LogParser,它似乎完成了我所需要的一切,但是我在解决如何将从日志中提取的某些值替换为更易读的问题时遇到了一些麻烦。 / p>

我的脚本非常简单:

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)

虽然这会产生我感兴趣的信息,但如果可能的话,我想改变输出。例如,'Process'列输出为:

\设备\ harddiskvolume2 \应用\ Mozilla的\ FX-4 \ firefox.exe

我真正喜欢的是只显示进程名称,而不显示路径。同样,“协议”列只显示数字协议值。我更喜欢让它显示'实际'协议。

最后,Direction列显示数值%% 14592和%% 14593,我更愿意分别看到In和Out。

如果有人可以提供帮助,我将非常感激。

由于

1 个答案:

答案 0 :(得分:0)

对于你的文件名问题,是吗? EXTRACT_FILENAME(EXTRACT_TOKEN(字符串,1,'|'))AS过程 为你工作?

对于您的其他问题,如何:

CASE EXTRACT_TOKEN(字符串,2,'|')当'%% 14592'然后'在''结束'结束时作为方向