C# 为什么我得到了;访问被拒绝。(HRESULT的例外:0x80070005(E_ACCESSDENIED))“;在Active Directory中创建用户时

C# 为什么我得到了;访问被拒绝。(HRESULT的例外:0x80070005(E_ACCESSDENIED))“;在Active Directory中创建用户时,c#,asp.net,active-directory,C#,Asp.net,Active Directory,我使用以下代码在Active Directory中创建用户 DirectoryEntry newUser = null; try { if (!Authenticate()) return null; newUser = location.Children.Add("CN=" + userName, "user"); newUser.Propertie

我使用以下代码在Active Directory中创建用户

DirectoryEntry newUser = null;
            try
            {
                if (!Authenticate()) return null;

                newUser = location.Children.Add("CN=" + userName, "user");
                newUser.Properties["samAccountName"].Value = userName;
                newUser.Properties["cn"].Value = userName;

                newUser.CommitChanges();
                string guid = newUser.Guid.ToString();
                newUser.Invoke("SetPassword", new object[] { password });
                newUser.CommitChanges();
                DomainDirectoryEntry.Close();
                newUser.Close();
                return guid;
            }
            catch
            {
                throw;
            }
            finally
            {
                newUser = null;
            }
如果我从asp.net网页运行此代码,它将在Active Directory中创建用户,并将其创建为禁用,但它会引发异常
调用目标已引发异常。
当我获取此异常的内部异常时,它会拒绝访问。(HRESULT的例外:0x80070005(E_ACCESSDEN我确信用于访问Active Directory的帐户是一个完整的管理员。)

我没有确定创建用户的原因和原因,但它在设置密码时会产生错误…有什么可以指导我获取错误吗?

我想你(应用程序池用户或模拟用户)没有权限这样做

默认情况下,该用户将是网络服务,我确信该用户没有相应的权限


您如何知道您使用哪个帐户访问Active Directory?

我尝试了许多方法,最后我们发现当代码从SharePoint运行时会出现问题,因此我们将代码放在下面的代码中,代码成功运行

SPSecurity.RunWithElevatedPrivileges(delegate()
  {
     ......
  }

但应用程序池用户是否影响我使用域管理员用户从代码访问active directory。。。