1

我在 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)

我该如何解决这个问题?

4

1 回答 1

2

创建属性?你的意思是像扩展架构?您不能仅通过将其添加到对象来做到这一点。正如您在此处看到的,没有“mobilenumber”这样的属性。也许您想要otherMobile (Phone-Mobile-Other)mobile (Phone-Mobile-Primary)

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

于 2012-12-06T12:05:02.160 回答