在 Windows 平台上,是否有任何命令行实用程序可以传递username
,password
domain name
以验证凭据(或者可能给出错误,提示该帐户已被禁用、不存在或已过期)?
答案1
您可以使用net use
命令,在命令行上指定用户名和密码(以表单形式)net use \\unc\path /user:username password
并检查errorlevel
返回以验证凭证是否有效。
该runas
命令也可以工作,只是你将需要花费更困难的时间来测试输出。
测试凭证是否存在帐户是使用net user
或 的问题dsquery
。该net user
命令不会告诉您帐户是否被锁定,但查询lockoutTime
用户帐户的属性可以告诉您这一点。
答案2
在 Powershell 中:
Function Test-ADAuthentication {
param($username,$password)
(new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
}
PS C:\> Test-ADAuthentication "dom\myusername" "mypassword"
True
PS C:\>
答案3
尝试这个:
net use \\%userdnsdomain% /user:%userdomain%\%username% *
如果密码正确,则 %Errorlevel% 为 0。
句子末尾的星号强制要求输入密码。
答案4
只是想补充一点,由于 AD 是 LDAP 服务器,您可以使用 LDAP 命令行工具“绑定”到它,从而确认它是否处于活动状态。您还可以以具有更高权限的用户身份进行绑定,然后使用 LDAP 原则搜索 AD。
但是嘿 - Powershell 没有任何问题!