当前位置:  开发笔记 > 开发工具 > 正文

当我使用DirectoryServices"member"属性时,"Domain Users"组为空

如何解决《当我使用DirectoryServices"member"属性时,"DomainUsers"组为空》经验,为你挑选了1个好方法。

我正在使用以下代码来获取我的域中组的成员:

  Dim de As New DirectoryEntry("LDAP://" & GroupDN)

  For Each user As String In CType(de.Properties("member"), IEnumerable)

          GroupCollection.Add(Username, Username)

  Next

我的问题是,当GroupDN(组的可分辨名称)是" CN = Domain Users,CN = Users,DC = Mydomain,DC = local "时,For ... Each循环不执行,当我检查时手动使用属性语句,它的计数为零.这似乎适用于我的域中的每个其他组,但"域用户"组应该包含所有人,并且它似乎包含任何人.

我已经检查过,该组在我的Windows AD工具中正确列出了所有人.我有什么明显的遗漏吗?另外,有没有更好的方法来获得一个团体的所有成员?



1> tvanfosson..:

除非您更改用户的主要组ID,否则该用户不会存储在Domain Users组的成员属性中,而是使用主要组ID设置为Domain Users RID来确定Domain Users中的成员身份.正常情况是Domain Users成员属性为空; 它需要您对默认的Active Directory实现进行一些更改,但事实并非如此.

Domain Users组使用基于用户的"主要组ID"的"计算"机制来确定成员资格,并且通常不将成员存储为多值链接属性.如果更改了用户的主要组,则他们在Domain Users组中的成员身份将写入该组的链接属性,并且不再计算.这适用于Windows 2000,并且对于Windows Server 2003没有更改.

参考

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有