Asp.net core 将用户添加到Active Directory组.net core:从服务器返回了引用

Asp.net core 将用户添加到Active Directory组.net core:从服务器返回了引用,asp.net-core,iis,.net-core,active-directory,directoryservices,Asp.net Core,Iis,.net Core,Active Directory,Directoryservices,我正在构建一个.NETCore3网站,试图将用户添加到Active Directory安全组。以下代码在我的开发环境中运行良好,但一旦部署到IIS,我将收到: System.DirectoryServices.DirectoryServicesCOMException(0x8007202B): 已从服务器返回一个引用 错误发生在“group.Save();”处 同样,这在我的开发环境中可以在本地工作,但在部署到IIS之后就不再工作了。关于如何修复的任何建议?我建议查找您试图添加到广告中的帐户。我

我正在构建一个.NETCore3网站,试图将用户添加到Active Directory安全组。以下代码在我的开发环境中运行良好,但一旦部署到IIS,我将收到:

System.DirectoryServices.DirectoryServicesCOMException(0x8007202B): 已从服务器返回一个引用

错误发生在“group.Save();”处


同样,这在我的开发环境中可以在本地工作,但在部署到IIS之后就不再工作了。关于如何修复的任何建议?

我建议查找您试图添加到广告中的帐户。我可以建议的其他事项是使用调试器确认您正在运行此操作的域中存在帐户/组

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "domain" ...))
    {
       GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, groupName);
       // Do some validation / logging to make sure there is a group returned.

       var principal = Principal.FindByIdentity(pc, IdentityType.SamAccountName, username);
       // Do some validation here to make sure principal is not null

       group.Members.Add(principal);
       group.Save();
    }

确保运行此脚本的服务器有权访问您正在更新的域。

引用表示您没有与正确的服务器交谈,但服务器知道您应该与谁交谈。如果您进一步查看exception对象,甚至可能会找到它要将您发送到哪个服务器

如果组不在传递给
PrincipalContext
的同一域上,则可能发生这种情况

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "domain" ...))
    {
       GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, groupName);
       // Do some validation / logging to make sure there is a group returned.

       var principal = Principal.FindByIdentity(pc, IdentityType.SamAccountName, username);
       // Do some validation here to make sure principal is not null

       group.Members.Add(principal);
       group.Save();
    }