有没有办法验证给定的密码是否对AD中创建的计算机对象有效?

时间:2014-06-04 08:48:04

标签: active-directory ldap windows-server-2008 windows-authentication

我刚在Active Directory中创建了计算机对象。我使用SetPassword命令为计算机对象设置密码。我们如何验证计算机对象的密码或使用该密码进行身份验证?有没有办法验证密码对该计算机有效?

1 个答案:

答案 0 :(得分:1)

验证计算机帐户密码的方法与用户密码相同。计算机帐户还有一个用户名SamAccountName

我不确定如何提供示例,因为您没有指定任何编程平台,但为了它,这里是使用c#和System.DirectoryServices.AccountManagement命名空间的示例。

string password = "securepassword";
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
using (ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(context, "Temp1"))
{
    computer.SetPassword(password);
    Console.WriteLine(context.ValidateCredentials(computer.SamAccountName, string.Empty).ToString()); // Returns False
    Console.WriteLine(context.ValidateCredentials(computer.SamAccountName, password).ToString()); //Returns True
}