我正在使用 LDAP 来查询可用域的列表。当我在有一张网卡可用并且成功查询域列表的机器上运行它时,我的逻辑工作正常,但是当我在有多个网卡的机器上运行它时,即一个用于域 A,另一个用于域 B,我得到异常原因很简单,即 DirectoryEntry() 绑定失败。
我只需要为此使用 LDAP 提供程序。
下面是代码片段:
using (DirectoryEntry RootDSE = new DirectoryEntry("LDAP://rootDSE"))
{
// Retrieve the Configuration Naming Context from RootDSE
string configNC = RootDSE.Properties["configurationNamingContext"].Value.ToString();
// Connect to the Configuration Naming Context
using (DirectoryEntry configSearchRoot = new DirectoryEntry("LDAP://" + configNC))
{
// Search for all partitions where the NetBIOSName is set.
using (DirectorySearcher configSearch = new DirectorySearcher(configSearchRoot))
{
configSearch.Filter = ("(NETBIOSName=*)");
// Configure search to return dnsroot and ncname attributes
configSearch.PropertiesToLoad.Add("dnsroot");
configSearch.PropertiesToLoad.Add("ncname");
using (SearchResultCollection forestPartitionList = configSearch.FindAll())
{