Active directory &引用;已从服务器返回一个引用";仅当从域外部查询LDAP时出错

Active directory &引用;已从服务器返回一个引用";仅当从域外部查询LDAP时出错,active-directory,ldap,adsi,referrals,Active Directory,Ldap,Adsi,Referrals,我在林中有2个域。第二个是第一个的子域。就像下面 域1=abc.com在机器1上 域2=child.abc.com在macnihe2机器上 我有一个c#应用程序,它试图在子域上创建DirectoryEntry LDAP://machine1/OU\u在子域/父域\u用户名和密码中 当我的c#应用程序位于父域(即abc.com上)时,此功能有效,但如果我的c#应用程序位于任何不相关的域(如unrelateddomain.com)上,我会收到服务器返回的引用错误 请告诉我这是为什么?在第一种情况下,

我在林中有2个域。第二个是第一个的子域。就像下面

域1=abc.com在机器1上 域2=child.abc.com在macnihe2机器上

我有一个c#应用程序,它试图在子域上创建DirectoryEntry

LDAP://machine1/OU\u在子域/父域\u用户名和密码中

当我的c#应用程序位于父域(即abc.com上)时,此功能有效,但如果我的c#应用程序位于任何不相关的域(如unrelateddomain.com)上,我会收到服务器返回的引用错误


请告诉我这是为什么?在第一种情况下,广告能够进行“转介追踪”,但在第二种情况下则不行。我有什么遗漏吗?

这个问题我已经解决了好几个月了,今天下午才解决。您需要做的是:将域控制器主机名从子域预先添加到LDAP字符串。在您的示例中,子/子域可能是这样的:

LDAP://MyChildDomainController1.child.abc.com

您还提到了从无关域/LDAP/activedirectory进行连接。如果两个域上的Active Directory之间没有信任关系,并且它们的LDAP结构不相关,则您将无法使用上述方法。如果可能的话,在这种情况下,您唯一的方法就是使用经过身份验证的连接。从未尝试过,但这是一个可能的答案:

“…确保服务帐户(或计算机帐户,如果是网络帐户 托管上述代码的服务)可以委托给LDAP 在您环境中的所有DC上提供服务”