C#+ AD LDS - 帮助解释错误消息

时间:2015-02-16 22:30:31

标签: c# active-directory adlds

我编写了一些代码来使用C#管理AD LDS容器的成员资格。在我们的测试中,如果添加了某些人,则在尝试将更改提交到DirectoryEntry时会引发错误。如果这些特定用户未包含在成员资格中,则代码可以正常工作。

生成的详细异常是:

  

System.DirectoryServices.DirectoryServicesCOMException未处理
  的HResult = -2147016657
  消息=发生约束违规。

     

源=的System.DirectoryServices
  错误码= -2147016657
  ExtendedError = 8373
  ExtendedErrorMessage = 000020B5:AtrErr:DSID-03152804,#1:
  0:000020B5:DSID-03152804,问题1005(CONSTRAINT_ATT_TYPE),数据0,Att 1f(成员)

     

堆栈跟踪:
  在System.DirectoryServices.DirectoryEntry.CommitChanges()
  在C:\ Projects \ ET \ Shared \ HCI.DirectoryServices \ AdLds \ Role.cs中的HCI.DirectoryServices.AdLds.Role.Save()中:第186行   在C:\ Projects \ ET \ ADManager \ HCI.Test.ADManager \ Program.cs中的HCI.Test.ADManager.PasswordModifier.Main()中:第303行   在System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,String [] args)
  在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
  at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean preserveSyncCtx)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean preserveSyncCtx)
  在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态)
  在System.Threading.ThreadHelper.ThreadStart()

根据我在线阅读的内容,此消息表明该组的成员属性存在问题,但我不知道它可能是什么。正如我所说,当排除这些特定用户时,相同的代码可以正常工作。我无法找到问题用户的任何共性。

对于最终的踢球者,如果我使用ADSI Edit手动将这些用户添加到容器中,我可以使用我的代码执行任何我想要的操作:删除,添加,添加到其他容器等等。

建议表示赞赏。

0 个答案:

没有答案