是否有 Windows 命令行实用程序来验证用户凭据?

是否有 Windows 命令行实用程序来验证用户凭据?

在 Windows 平台上,是否有任何命令行实用程序可以传递usernamepassword 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:\>

参考: https://stackoverflow.com/questions/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell

答案3

尝试这个:

net use \\%userdnsdomain% /user:%userdomain%\%username% *

如果密码正确,则 %Errorlevel% 为 0。

句子末尾的星号强制要求输入密码。

答案4

只是想补充一点,由于 AD 是 LDAP 服务器,您可以使用 LDAP 命令行工具“绑定”到它,从而确认它是否处于活动状态。您还可以以具有更高权限的用户身份进行绑定,然后使用 LDAP 原则搜索 AD。

但是嘿 - Powershell 没有任何问题!

相关内容