我有一个称为“ 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对于被拉和不拉的成员相同。
谢谢
调用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