Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在(虚拟)服务器上查找LDAP域名_C#_Active Directory_Ldap_Logonserver - Fatal编程技术网

C# 在(虚拟)服务器上查找LDAP域名

C# 在(虚拟)服务器上查找LDAP域名,c#,active-directory,ldap,logonserver,C#,Active Directory,Ldap,Logonserver,我有一些进程基本上需要当前LDAP提供商的域名,以便从AD同步用户信息 该过程会提示用户输入源LDAP服务器,但会提供有关默认服务器的信息,以便用户仅使用默认值 以下代码适用于用户工作站,但在服务器上失败: var uri = "LDAP://" + Environment.GetEnvironmentVariable("LOGONSERVER"); 我也试过了ldap://rootDSE 但引发了NotSupportedException: 提供程序不支持搜索,并且无法搜索LDAP://ro

我有一些进程基本上需要当前LDAP提供商的域名,以便从AD同步用户信息

该过程会提示用户输入源LDAP服务器,但会提供有关默认服务器的信息,以便用户仅使用默认值

以下代码适用于用户工作站,但在服务器上失败:

var uri = "LDAP://" + Environment.GetEnvironmentVariable("LOGONSERVER");
我也试过了ldap://rootDSE 但引发了NotSupportedException:

提供程序不支持搜索,并且无法搜索LDAP://rootDSE

所以,我有几个问题:

为什么LOGONSERVER envvar在服务器上不可用? 我能做些什么呢? 在我看来,这是迈向真正LDAP服务器的垫脚石吗?
不确定LDAP域名意味着什么,但该域名可从属性中的LDAP根DSE获得:

defaultNamingContext: DC=YOURDOMAIN,DC=NET
C是一个广泛的主题,但我看到它显示了对rootDSE的访问,并特别显示了defaultNamingContext


-jim

在进一步调查RootDSE后,我想出了以下代码:

using (DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE"))
{
    result = (rootDSE.Properties["dnsHostName"].Value ?? "").ToString();
    if (result != "") return result;
}
它似乎能满足我的需要

然而,我上面的其余问题仍然没有答案