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

如何通过LDAP获取Active Directory组的SID?

获取Active Directory组的名称和SID

要同时获取AD组的名称和SID,你需要修改查询命令明确指定返回属性,再将二进制格式的SID转换为可读字符串。

步骤1:修改查询命令,指定返回属性

原查询未指定要获取的属性,默认仅返回有限字段。添加attributes参数,指定sAMAccountName(组名称)和objectSid(组SID)即可:

conn.search(
    f'cn=users,DC=dc,DC=testdomain,DC=link',
    '(objectclass=group)',
    attributes=['sAMAccountName', 'objectSid'],
    paged_size=1000
)

步骤2:转换二进制SID为可读字符串

AD返回的objectSid是二进制数据,无法直接读取。如果使用ldap3库,可调用其内置的convert_sid工具函数完成转换:

from ldap3.utils.conv import convert_sid

# 遍历查询结果
for entry in conn.entries:
    group_name = entry.sAMAccountName.value
    group_sid = convert_sid(entry.objectSid.value)
    print(f"组名: {group_name}, SID: {group_sid}")

补充说明

  • sAMAccountName是AD中组的标准登录名称,相比从DN中提取组名更准确直接
  • 手动解析二进制SID过程繁琐,推荐使用库内置工具完成转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:48:26