DirectoryEntry Invoke(“ Members”,null)未检索所有成员

问题描述 投票:0回答:1

我有一个称为“ AuditUsers”的ActiveDirectory组,它有一些成员。

这是我的代码:

` DirectoryEntry de = new DirectoryEntry(ADSPath);
    DirectorySearcher deSearch = new DirectorySearcher(LDAP://CN=AuditUsers,OU=WEB Groups,OU=Groups,DC=doamin,DC=com);
    deSearch.Filter = "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))"; 
     object members = de.Invoke("Members", null);`

因此,此对象成员不会拉出实际上是其成员的所有用户。只有一些成员出现。有谁知道为什么有些人即使在这个小组中也很失踪?对于那些被遗忘的人,AD中是否缺少任何关键字段?

我检查了失踪人员的广告,发现他们的objectCategory有个人,objectClass有用户。 userAccountControl对于被拉和不拉的成员相同。

谢谢

c# windows active-directory active-directory-group
1个回答
0
投票

调用IADsGroup.Members只是枚举IADsGroup.Members的较难方法。两者都只读取组的de.Properties["member"]属性。

但这不是用户成为会员的唯一方式。我在member中对此进行了更详细的介绍,但是我怀疑这里是因为该组被用作许多用户的主要组。而且该成员身份的处理方式有所不同。

如果是这种情况,那么用户的an article I wrote属性将设置为该组的相对标识符(RID)。 RID是SID中的最后一组数字。在我写的有关primaryGroupId的文章中,我提供了一个示例,说明如何查找以该组为主要组的所有用户。在我的网站上,它返回DOMAIN \ username,但是我在这里进行了修改,因此它返回了finding all the members of a group,因此您可以将由此获得的内容添加到从distinguishedName属性获得的内容。

member
© www.soinside.com 2019 - 2024. All rights reserved.