0

我有某个组的 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 循环甚至没有被执行,因为它没有找到该组的任何成员。但是当我查看数据库中的组时,它显然有几个成员。

4

1 回答 1

1

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

我使用String.Format("LDAP://{0}/{1}", _dc, distinguishedName_)where dc 是这个域部分,并且 distinctName是你的“对象用户”到字符串中,以便有类似的东西

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

在这里查看。

于 2014-12-18T14:56:16.223 回答