如何从IP或serverName获取Directory Server的BaseDN

时间:2012-06-21 16:11:33

标签: c# .net active-directory openldap

我正在使用LDAP,我在本地计算机上安装了OpenLDAP并创建了一个RootDSE,其中dc = wave,dc = com。

我试图使用以下代码获取此baseDN:

DirectoryEntry directoryEntry = new DirectoryEntry(string.Format("LDAP://{0}", server), "CN=Manager,dc=wave,dc=com", "secret");
string dnPath;
try
{
    dnPath = directoryEntry.Properties["distinguishedName"].Value.ToString();
}
catch
{
    dnPath = "";
}

但它总是属于异常,为什么我需要传递整个dn用户名?

同样的事情,如果我尝试使用Active Directory服务器,它可以正常工作,我也不需要将整个dn传递给用户名。

任何想法?

1 个答案:

答案 0 :(得分:0)

System.DirectoryServices命名空间实际上仅适用于Active Directory。使用任何其他目录时,应切换到使用System.DirectoryServices.Protocols。你可能会发现在使用AD时它会更好。