在Windows平台上,是否有任何命令行实用程序,我可以通过username , password domain name来validation凭据(或可能提供一个错误,该帐户被禁用,不存在或过期)?
您可以使用net use命令,在命令行中指定用户名和密码(forms为net use \\unc\path /user:username password并检查返回的错误errorlevel以validation凭证是否有效。
runas命令也可以工作,除了你将有一个更难的时间来testing输出。
testing证书是否存在帐户将是使用net user或dsquery 。 net user命令不会告诉你帐户是否被locking,但是查询用户帐户的lockoutTime属性可以告诉你。
在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-owowhell
只是想补充一点,因为AD是一个LDAP服务器,所以可以使用LDAP命令行工具“绑定”到它,从而确认它是否处于活动状态。 您也可以绑定为具有更高权限的用户,然后使用LDAP原则访问AD。
但是,嘿 – Powershell没有错!