我有一个名为用户的 OU,我正在尝试添加用户,但发生此错误的"发生约束值"我的 OU 和 CN 很好,因为最近它在这里工作是我的创建函数
public static void CreateNewUser(string clientUpnSuffix, NewUserModel user)
{
if (!(Settings.IsLive))
{
return;
}
var clientDE = GetClientAccount(clientUpnSuffix).DirectoryEntry;
var usersOUDE = clientDE.Children.Find("OU=Users");
var userDE = usersOUDE.Children.Add("CN=" + user.UserName, "user");
userDE.Properties[ADAttribute.USERPRINCIPALNAME].Value = string.Format("{0}@{1}", user.UserName, clientUpnSuffix);
userDE.Properties[ADAttribute.SAMACCOUNTNAME].Value = user.UserName;
userDE.Properties[ADAttribute.TELEPHONE].Value = user.Telephone;
userDE.Properties[ADAttribute.OFFICE].Value = user.Department;
userDE.Properties[ADAttribute.GIVENNAME].Value = user.FirstName;
userDE.Properties[ADAttribute.SN].Value = user.LastName;
userDE.Properties[ADAttribute.DISPLAYNAME].Value = string.Format("{0} {1}", user.FirstName, user.LastName);
if (user.CreateMSExchangeAccount)
{
userDE.Properties[ADAttribute.MAIL].Value = string.Format("{0}@{1}", user.UserName, clientUpnSuffix);
}
else
{
userDE.Properties[ADAttribute.MAIL].Value = null;
}
//userDE.Invoke("SetPassword", new object[] { user.Password });
userDE.CommitChanges();
usersOUDE.Close();
userDE.Close();
}
您应该使用现有属性,而不仅仅是您梦寐以求的属性。据我所知,"电话"应该是telephoneNumber
的,而"办公室"可能是department
的。这应该是约束价值的起点。