LDAP 获取 Active Directory 中用户的主要组名
Posted
技术标签:
【中文标题】LDAP 获取 Active Directory 中用户的主要组名【英文标题】:LDAP get primary group name of a user in Active Directory 【发布时间】:2018-06-22 11:05:00 【问题描述】:有一种情况,我需要使用 LDAP 查询来获取特定用户所属的所有组名。 输入将是:用户专有名称 并且输出应该是:该用户所属的组列表。
到目前为止,我能够使用以下 LDAP 查询获取用户所属的所有组名,但主组除外:
查询:
dsquery * "member:LDAP_MATCHING_RULE_IN_CHAIN:=cn=user1,cn=Users,dc=example,dc=com"
输出:
"CN=group1,CN=Users,DC=example,DC=com"
"CN=mygroup,CN=Users,DC=example,DC=com"
上述查询列出了所有组“user1”的成员,但主组名“Domain Admins”除外。
想出如何使用以下 LDAP 查询来获取主要组 RID:
dsquery * "cn=user1,cn=Users,dc=example,dc=com" -scope base -attr primaryGroupID
但是从组 RID 获取组名再次不起作用,相反,如果我获得了主要组 SID,那么获取组名将很容易。但我得到的是主组 RID,我无法使用 LDAP 从中获取组名。
任何关于这方面的帮助都会很棒,我可以通过任何方式仅使用一些 LDAP 查询来获取主要组名称。
【问题讨论】:
请在此问题中添加ldap-query 标签。 【参考方案1】:您想使用 dsget 而不是 dsquery。这是查找特定成员的所有组的方法,包括嵌套组和主组:
dsget user "cn=user1,cn=Users,dc=example,dc=com" -memberof -expand
【讨论】:
以上是关于LDAP 获取 Active Directory 中用户的主要组名的主要内容,如果未能解决你的问题,请参考以下文章
使用 LDAP 在 Active Directory 中查找用户 - 没有用户?
C# - 使用 LDAP 检索 Active Directory 的组成员
C# 中的 LDAP 和 Active Directory 身份验证