我有某个组的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循环甚至没有被执行,因为它找不到组的任何成员。但当我查看数据库中的组时,它显然有几个成员。
发布于 2014-12-18 14:56:16
我认为即使在第一个DirectoryEntry对象中也缺少域部分。
我使用String.Format("LDAP://{0}/{1}", _dc, distinguishedName_)
,其中dc是该域的一部分,distinguishedName是字符串中的“对象用户”,以便获得类似于
LDAP://dc1.corp.domain.com/OU=服务帐户、OU=Corp对象、DC=corp、DC=domain、DC=com
请查看here。
https://stackoverflow.com/questions/27450591
复制