可以使用以下 PowerShell 命令验证 AD 账户的凭据:
$username = "user1"
$password = "password1"
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)
$ADServer = "ldap://dc1.example.com"
$Domain = "example.com"
$SearcherFilter = "(sAMAccountName=$username)"
$ADSearcher = New-Object System.DirectoryServices.DirectorySearcher
$ADSearcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry $ADServer
$ADSearcher.Filter = $SearcherFilter
$ADSearcher.SearchScope = "Subtree"
$ADSearcher.PropertiesToLoad.Add("name")
$ADSearcher.PropertiesToLoad.Add("samaccountname")
$ADSearcher.ClientTimeout = (New-TimeSpan -Minutes 1).TotalMilliseconds
$ADSearcher.FindAll()
$ADSearcher.Dispose()
需要注意的是,$username
变量应设置为需要验证的 AD 用户名,$password
是对应用户的密码。此代码会将 $password
变量转换为安全的密码对象,以便进行验证。$ADServer
变量应设置为您的 AD 服务器的 LDAP 地址,例如 “ldap://dc1.example.com”。$Domain
变量应设置为 AD 域的名称。在 $ADSearcher.Filter
中,将 sAMAccountName
更改为属性名称,该属性包含要查找的用户名。最后,代码调用 $ADSearcher.FindAll()
来尝试使用提供的凭据进行身份验证。