为OU和C#App创buildAD帐户禁用密码复杂性

我创build了一个C#应用程序,从数据库创build一系列AD帐户。 我遇到的问题是我收集的密码没有复杂性要求,所以当我将它们传递到我们的域时,我得到一个错误,说“服务器不愿意处理请求”。 我跟踪了我的代码,并破解了密码,因为它对我们的域来说不够复杂。 然后,我创build了一个特定的OU的GPO,我创build这些帐户来禁用密码复杂性和安全我添加在我的用户和计算机,我正在运行我的C#应用​​程序。

我仍然遇到这个错误,它会改变我创build的帐户上的密码。 我错过了什么或有没有更好的方法来解决这个问题?

我已经包含了我在C#应用程序中使用的代码来创build和更改密码。 该代码是正确的,因为它适用于具有足够复杂的密码的帐户。 DC是Server 2012,但是我不认为这很重要。

//Creates User string cnUser = acctNumber + "_" + userName; DirectoryEntry newUser = dirEntry.Children.Add("CN=" + cnUser, "user"); newUser.Properties["samAccountName"].Value = cnUser; newUser.Properties["userPrincipalName"].Value = cnUser; newUser.Properties["pwdLastSet"].Value = 0; newUser.CommitChanges(); //Changes Password String passwrd = userPassword.ToString(); newUser.Invoke("SetPassword", new object[] { passwrd }); newUser.CommitChanges(); //Sets User Account to Change Passowrd on new login newUser.Properties["pwdLastSet"].Value = 0; newUser.CommitChanges(); 

您只能通过GPO为整个域定义一个密码策略。

然后,您可以设置精细的密码策略,但请注意,您不像使用GPO那样将细粒度的密码策略应用于OU。 而是将其应用于用户和组。

http://technet.microsoft.com/en-us/library/cc770394(v=WS.10).aspx