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

在Azure Log Analytics中用Kusto从可分辨名称提取用户与域名

在Azure Log Analytics中从可分辨名称(DN)提取用户和域名的Kusto实现

以下是直接可用的Kusto查询,能从DN中提取用户名和完整域名:

// 替换为你的实际数据表名
let targetTable = datatable(DN:string) [
    "cn=User One,OU=Accounts,OU=Administrative,DC=internal,DC=local,DC=com",
    "cn=Jane Doe,OU=Users,DC=contoso,DC=com"
];
targetTable
// 提取用户名:匹配cn=后到第一个逗号前的内容
| extend User = extract(@"cn=([^,]+)", 1, DN)
// 分割DN为数组并筛选DC开头的域名段
| extend DomainSegments = split(DN, ",")
| extend DomainSegments = array_filter(DomainSegments, segment => startswith(segment, "DC="))
// 移除DC前缀并拼接成标准域名
| extend DomainSegments = array_map(DomainSegments, segment => replace_string(segment, "DC=", ""))
| extend Domain = strcat_array(DomainSegments, ".")
// 保留目标列
| project DN, User, Domain

关键逻辑说明:

  • 用户名提取:通过extract函数结合正则,精准捕获cn=后到第一个逗号之间的文本,即使cn字段不在DN开头也能生效。
  • 域名生成:
    1. 用split将DN按逗号拆分为数组元素;
    2. array_filter筛选出所有以DC=开头的域名分段;
    3. array_map移除每个分段的DC=前缀;
    4. strcat_array用点号拼接分段,形成标准域名格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:36:33