LogParser - 事件日志数据值替换

问题描述:

我不是一个脚本专家,我有一个小的需求来分析Windows安全事件日志的防火墙流量。LogParser - 事件日志数据值替换

为此,我已经开始关注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) 

虽然这会产生我感兴趣的信息,我想,如果可能的话,改变输出。对于exampleThe '过程' 列输出是:

\设备\ harddiskvolume2 \ APPS \ Mozilla浏览器\ FX-4 \ firefox.exe

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

最后,“方向”列显示数值%% 14592和%% 14593,我更愿意分别看到“入”和“出”。

如果有人能帮忙,我会很感激。

感谢

为了您的文件名的问题,请问 EXTRACT_FILENAME(EXTRACT_TOKEN(字符串,1, '|'))AS为您处理 工作?

为其他其他的问题,怎么样:

CASE EXTRACT_TOKEN(弦乐,2, '|')在 '%% 14592',那么 'IN' ELSE 'OUT' END为导向