0

有一种情况,我需要使用 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”除外。

一些如何想办法获取主组 RID 而不是使用以下 LDAP 查询:

dsquery * "cn=user1,cn=Users,dc=example,dc=com" -scope base -attr primaryGroupID

但是从组 RID 获取组名再次不起作用,相反,如果我有主组 SID,那么很容易获得组名。但是我得到的是主组 RID,我无法使用 LDAP 从中获取组名。

任何关于这方面的帮助都会很棒,我可以通过任何方式仅使用一些 LDAP 查询来获取主组名。

4

1 回答 1

1

您想使用dsget而不是dsquery。这是查找特定成员的所有组的方法,包括嵌套组和主组:

dsget user "cn=user1,cn=Users,dc=example,dc=com" -memberof -expand
于 2018-06-22T11:34:45.620 回答