如何在C#中编写跨林LDAP查询?
我正在尝试编写一个高效的LDAP查询,返回来自另一个林/域的结果。目前还没有一个双向信任。没有条件转发器。我所拥有的是一个经过验证的网络连接、一个IP地址、一个服务帐户和密码 这是我通常使用的基本LDAP代码如何在C#中编写跨林LDAP查询?,c#,active-directory,ldap,C#,Active Directory,Ldap,我正在尝试编写一个高效的LDAP查询,返回来自另一个林/域的结果。目前还没有一个双向信任。没有条件转发器。我所拥有的是一个经过验证的网络连接、一个IP地址、一个服务帐户和密码 这是我通常使用的基本LDAP代码 DirectoryEntry deParent = new DirectoryEntry("LDAPS://000.0.000.00/DC=bob,DC=earl,DC=john,DC=whatever"); deParent.Username = "Dom
DirectoryEntry deParent = new DirectoryEntry("LDAPS://000.0.000.00/DC=bob,DC=earl,DC=john,DC=whatever");
deParent.Username = "Domain\\UserName";
deParent.Password = "Password";
deParent.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher ds = new DirectorySearcher(deParent, qry, columns, SearchScope.Subtree);
我知道这有点广谱,但是有很多相互矛盾的信息。所以
那么有错误吗?LDAP和IP的组合可能会出现问题,因为证书无效。在这种情况下,我还希望您的AuthN类型应该是Basic 1.执行跨林查询是否需要信任?仅查询,除服务帐户外,无需登录 不,执行跨林查询不需要信任 2.像上面这样的基本DirectoryEntry调用是否有效? 一点也不。如果涉及到适当的信任,标准目录条目方法将/可能起作用 3.任何人都可以用c#提供一个跨林查询的示例吗? 及 以防万一,如果您没有林FQDN的dns条目,只需更新主机文件以将其指向正确的位置 还有更多的信息。 如果您的搜索请求非常慢(约48-60秒),请务必关闭转介追踪
connection.SessionOptions.ReferralChasing = ReferralChasingOptions.None;
在这种情况下,我需要在本地域上使用条件转发器来解析实际名称?e、 g.LDAPS://bobs.happy.little.forest而不是LDAPS://123.123.123.123?使用全局目录也会有所帮助(端口3268)。GC包含林的只读副本,因此通常不需要重定向。复制副本只包含某些值,因此如果您正在搜索任何异常的内容,这将不起作用。在这种情况下,端口3268不对我们开放。随着时间的推移,为了提高性能,我会记住这一点。