You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KQL字符串操作方法:如何从查询输出结果中仅提取UserName字段

KQL提取动态数组内指定字段方法

你当前查询返回的LoggedOnUsers是动态类型的JSON数组,要从中仅提取UserName字段,只需在原有查询基础上补充两步操作即可:

  • 用mv-expand操作符展开数组,把数组内的每个用户对象拆分为独立行
  • 提取展开后对象的UserName属性作为最终输出字段

修改后的通用查询(适配单/多登录用户场景)

DeviceInfo
| where DeviceID == "hksjdfhksdf"
| project LoggedOnUsers
| mv-expand LoggedOnUsers
| project UserName = LoggedOnUsers.UserName

输出效果

针对你给出的示例返回数据,执行上述查询后会得到仅包含UserName的结果:

UserName
djlskjfdl

如果对应设备存在多个登录用户,查询会逐行输出所有用户的UserName值。如果需要同时保留设备名称,把第二步的project LoggedOnUsers改成project DeviceName, LoggedOnUsers即可。


特殊场景简化写法

如果你能确定每个设备的LoggedOnUsers数组永远只会有1个用户,也可以省略mv-expand步骤,直接通过下标提取:

DeviceInfo
| where DeviceID == "hksjdfhksdf"
| project UserName = LoggedOnUsers[0].UserName

内容的提问来源于stack exchange,提问作者John418

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 22:48:00