如何在KQL中从SecurityAlert的Entities提取AadUserId?
KQL查询:从SecurityAlert的Entities字段提取AadUserId
SecurityAlert表的Entities字段是动态数组类型,每个元素对应一个实体对象(如账户、主机等)。要提取其中的AadUserId,需要先展开数组,再定位到账户类实体并提取目标字段,完整查询如下:
SecurityAlert | where ProviderName contains "IPC" | mv-expand Entities | where Entities.Type == "Account" | extend AadUserId = Entities.AadUserId | project OriginalAlertId, ProviderName, AadUserId // 按需调整展示字段
关键步骤说明:
mv-expand Entities:将数组类型的Entities拆分为多条记录,每个数组元素单独成为一行,方便后续处理单个实体where Entities.Type == "Account":筛选出账户类型的实体,避免提取到其他类型实体(如主机、IP)的无关字段extend AadUserId = Entities.AadUserId:从实体对象中提取AadUserId,生成新的独立字段project:可选操作,用来指定最终需要展示的字段,精简查询结果
如果需要过滤掉AadUserId为空的记录,可以在extend之后添加:
| where isnotempty(AadUserId)
内容的提问来源于stack exchange,提问作者Tomas Gonzales
相关产品推荐
相关产品推荐

