获取某些组的成员

时间:2014-12-12 19:16:38

标签: c# active-directory active-directory-group activedirectorymembership

我有一个LDAP地址到某个组,例如LDAP:// CN = Users,CN = Builtin,DC = tt,DC = s,DC = LOCAL 我如何获得属于该组的用户? 最初,我认为这样做会有效:

    DirectoryEntry group = new DirectoryEntry("LDAP://CN=Users,CN=Builtin,DC=tt, DC=s, DC=LOCAL");
        foreach (object user in group.Properties["member"])
        {
            DirectoryEntry _user = new DirectoryEntry("LDAP://" + user);
            Console.WriteLine(_user.Properties["cn"].Value.ToString());
        }

但是,这不会打印该组的任何成员。事实上,foreach循环甚至没有被执行,因为它没有找到该组的任何成员。但是,当我查看数据库中的组时,它显然有几个成员。

1 个答案:

答案 0 :(得分:0)

我认为即使在第一个DirectoryEntry对象中,域部分也会丢失。

我使用String.Format("LDAP://{0}/{1}", _dc, distinguishedName_)其中 dc是此域名部分,且distinguishedName 是您的"对象用户"到字符串,以便有类似

的东西
  

LDAP://dc1.corp.domain.com/OU=Service Accounts,OU = Corp Objects,DC = corp,DC = domain,DC = com

查看here

相关问题