AD操作时异常:该服务器不愿意处理该请求。 (异常来自 HRESULT:0x80072035)

需要用到AD操作,在网上找了个ADHelper,随便用下,创建帐号的时候代码如下,运行到 ADHelper.EnableUser(commonName)的时候,
 DirectoryEntry entry = GetDirectoryObject();

              DirectoryEntry subEntry 
= entry.Children.Find(ldapDN);

              DirectoryEntry deUser 
= subEntry.Children.Add("CN=" + commonName, "user");

              deUser.Properties[
"sAMAccountName"].Value = sAMAccountName;

              deUser.CommitChanges();

              ADHelper.EnableUser(commonName);

              ADHelper.SetPassword(commonName, password);

              deUser.Close();

              
return deUser;

居然报异常:该服务器不愿意处理该请求。 (异常来自 HRESULT:0x80072035),呵呵,还挺人性化的,居然不愿意

System.DirectoryServices.DirectoryServicesCOMException was unhandled
  Message
="该服务器不愿意处理该请求。 (异常来自 HRESULT:0x80072035)"
  Source
="System.DirectoryServices"
  ErrorCode
=-2147016651
  ExtendedError
=1325
  ExtendedErrorMessage
="0000052D: SvcErr: DSID-031A0FC0, problem 5003 (WILL_NOT_PERFORM), data 0\n"
  StackTrace:
       在 System.DirectoryServices.DirectoryEntry.CommitChanges()
       在 ConsoleApplication3.ADHelper.EnableUser(DirectoryEntry de) 位置 E:\Visual Studio 
2005\Projects\ConsoleApplication3\ConsoleApplication3\ADHelper.cs:行号 1168
       在 ConsoleApplication3.ADHelper.EnableUser(String commonName) 位置 E:\Visual Studio 
2005\Projects\ConsoleApplication3\ConsoleApplication3\ADHelper.cs:行号 1146
       在 ConsoleApplication3.ADHelper.CreateNewUser(String ldapDN, String commonName, String sAMAccountName, String password) 位置 E:\Visual Studio 
2005\Projects\ConsoleApplication3\ConsoleApplication3\ADHelper.cs:行号 812
       在 ConsoleApplication3.ADHelper.CreateNewUser(String commonName, String sAMAccountName, String password) 位置 E:\Visual Studio 
2005\Projects\ConsoleApplication3\ConsoleApplication3\ADHelper.cs:行号 842
       在 ConsoleApplication3.Program.Main(String[] args) 位置 E:\Visual Studio 
2005\Projects\ConsoleApplication3\ConsoleApplication3\Program.cs:行号 21
       在 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
       在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       在 System.Threading.ThreadHelper.ThreadStart()
找了半天,弄不清楚原因,最后把 ADHelper.SetPassword(commonName, password);放在 ADHelper.EnableUser(commonName);前面,程序就可以通过了,哈哈,无语

原文地址:https://www.cnblogs.com/Jianchidaodi/p/981366.html