如何从Log Analytics中Sentinel日志的Entities嵌套列提取文件名
从SecurityAlert的Entities列提取文件名的Kusto查询方案
你可以通过以下步骤处理嵌套的Entities列,提取目标文件名:
- 展开动态数组列:Entities是动态数组类型的列,需用
mv-expand将数组中的每个实体对象拆分为单独行。 - 筛选文件类型实体:在展开后的实体中,筛选出类型为
File的条目(MDATP的Windows Defender AV警报中,文件实体的Type字段值为File)。 - 提取文件名:从文件实体的
FileName字段直接获取文件名;如果仅存在完整路径(FullPath),可使用extract_filename()函数从路径中提取文件名。
完整查询示例
SecurityAlert | where ProviderName == "MDATP" | where AlertType == "WindowsDefenderAv" | mv-expand Entities // 展开Entities数组为单行实体 | where Entities.Type == "File" // 筛选文件类型的实体 | project AlertName, // 保留警报名称便于关联 FileName = Entities.FileName, // 直接提取文件名 FullFilePath = Entities.FullPath // 可选:保留完整文件路径
补充说明
- 如果Entities中没有直接的
FileName字段,只有FullPath,可替换为以下方式提取文件名:| project FileName = extract_filename(Entities.FullPath) mv-expand默认保留原行的其他字段,方便将文件名与对应警报信息关联。
内容的提问来源于stack exchange,提问作者gaurav sharma
相关产品推荐
相关产品推荐

