请求的操作不满足与对象类关联的一个或多个约束?

时间:2012-12-06 07:51:18

标签: c# active-directory

我在c#中开发了用于在AD中创建用户的项目。

我创建了一个用户,我想为这个用户创建一个属性,比如“mobilenumber”。

当我创建时,会出现以下错误。

这是我的代码。

      if (userDetails.GetUnderlyingObjectType() == typeof(DirectoryEntry))
        {
            dEntry = (DirectoryEntry)userDetails.GetUnderlyingObject();
            if (User.UsrPassword != null && User.UsrPassword.Trim() != "")
            {
                if (dEntry.Properties.Contains("mobilenumber"))
                {
                    Console.WriteLine("mobilenumberAttribute:Already created");
                    dEntry.Properties["mobilenumber"][0] = User.UsrPassword;
                    dEntry.CommitChanges();
                }
                else
                {
                    Console.WriteLine("mobilenumber Attribute: Adding");

                    dEntry.Properties["mobilenumber"].Add(User.UsrPassword);
                    dEntry.CommitChanges();
                }
                userDetails.Save();
                result = true;
            }
        }

The requested operation did not satisfy one or more constraints associated with the class of the object. (Exception from HRESULT: 0x80072014)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

创建属性?你的意思是扩展架构?只需将其添加到对象中就无法做到这一点。正如您所见,here,没有“mobilenumber”这样的属性。也许您想要otherMobile (Phone-Mobile-Other)mobile (Phone-Mobile-Primary)

你想做什么?为什么要在用户对象中保留密码的副本。如果用户更改了它,则不会更新您的副本。如果你需要它以某种方式告知用户,做一些不同的事情,比如让他的主管感兴趣......只是一个想法。