我正在编写一个安装 SQL 的安装程序,预先提示用户输入将为他们创建的 SA 用户名/密码。安装 SQL 时,它会根据 Active Directory 策略验证此密码,如果不匹配,则会失败。
我要做的是在继续安装 SQL 之前验证用户输入的密码是否有效。
如何根据 Active Directory 规则验证密码是否正确?
请注意,我没有根据此答案进行验证的登录名,而只是用于验证的密码。
我目前正在尝试这个,但是写我知道不允许的“密码”不会引发异常
try
{
System.DirectoryServices.DirectoryEntry localMachine = new System.DirectoryServices.DirectoryEntry("WinNT://" + Environment.MachineName);
ListPasswordPolicyInfo(Environment.MachineName);
System.DirectoryServices.DirectoryEntry newUser = localMachine.Children.Add("localuser", "user");
newUser.Invoke("SetPassword", new object[] { "3l!teP@$$w0RDz" });
newUser.Invoke("SetPassword", new object[] { "password" });
//newUser.CommitChanges();
//Console.WriteLine(newUser.Guid.ToString());
localMachine.Close();
newUser.Close();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}