当我尝试添加用户异常时:服务器不愿意处理请求.并设置密码异常:由调用的目标引发
本文关键字:异常 设置 密码 调用 目标 请求 不愿意 添加 用户 服务器 处理 | 更新日期: 2023-09-27 18:35:15
我试图像下面那样做,得到
newUser.Invoke("Put", new object[] { "userAccountControl", "512" });
我评论它,它是工作,但从newUser.Invoke("SetPassword", new object[] { model.Password });
中发现了"由调用目标抛出"的新异常
在此之前,我使用窗口服务器2003R2(VM)到活动目录没有问题。现在我使用窗口服务器2012R2有问题为什么?
ConnectAD con = new ConnectAD();
DirectoryEntry de = con.GetConnection();
Utility ut = new Utility();
using (DirectorySearcher searcher = new DirectorySearcher(de))
{
searcher.Filter = string.Format("(&(objectClass=user)(sAMAccountName={0}))", model.UserName);
using (SearchResultCollection resultUser = searcher.FindAll())
{
bool DoesExistUsesr = resultUser.Count > 0;
if (!DoesExistUsesr)
{//User doesn't exist
searcher.Filter = string.Format("(&(objectClass=organizationalUnit)(ou={0}))", model.Group);
using (SearchResultCollection resultOU = searcher.FindAll())
{
bool DoesExistOU = resultOU.Count > 0;
if (DoesExistOU)
{//OU does exist
de.Path = ut.SetChildPath("OU=" + model.Group);//"LDAP://" + Properties.Settings.Default.domainMyAD + "/" + "OU=" + model.Group + "," + Properties.Settings.Default.pathMyAD;
DirectoryEntry newUser = de.Children.Add("CN=" + model.UserName, "user");
newUser.Properties["displayName"].Value = model.Name + " " + model.Surname;
newUser.Properties["givenName"].Value = model.Name;
newUser.Properties["sn"].Value = model.Surname;
newUser.Properties["mail"].Value = model.Email;
newUser.Properties["department"].Value = model.Department;
newUser.Properties["title"].Value = model.Title;
newUser.Properties["userPrincipalName"].Value = model.UserName + "@" + Properties.Settings.Default.domainMyAD;
newUser.Properties["sAMAccountname"].Value = model.UserName;
newUser.Properties["PwdLastSet"].Value = -1;
newUser.CommitChanges();
newUser.Invoke("SetPassword", new object[] { model.Password }); //<-- ***thrown by the target of an invocation***
newUser.Invoke("Put", new object[] { "userAccountControl", "512" });
newUser.CommitChanges();
}....
提前谢谢。
内部异常:密码不符合密码策略要求。检查最小密码长度,密码复杂性和密码历史记录要求 - 错误代码:800708c5
不能启用没有密码的帐户(这是将 userAccountControl 设置为 512 所做的)。您必须在保存新帐户后执行此操作。
但也不需要使用 Invoke 来设置 userAccountControl 属性。在第一次提交更改之后尝试此操作:
...
//newUser.Invoke("Put", new object[] { "userAccountControl", "512" }); <-- Remove this
newUser.CommitChanges();
newUser.Invoke("SetPassword", model.Password);
newUser.Properties["userAccountControl"].Value = 512;
newUser.CommitChanges();
我解决了。关于密码复杂性的内部异常(大写、小写、长度)。在这种情况下,我测试使用密码123创建帐户。我是AD的新手:(