在VBScript中测试Active Directory域的用户名/密码?

c0n*_*mer 2 vbscript active-directory

我需要针对VBScript中的给定域测试用户名和密码对.该脚本将知道它需要检查访问权限的用户名,密码和域,并且我需要返回的是关于帐户是否有效的真或假.

任何人都可以建议一个很好的方法来完成这个 谢谢!

小智 5

发布的fnCheckAccess(strDomain,strUserID,strUserPWD)有问题,因为我的域OU结构在OU = Users中没有用户.基于MSDN文章提出了以下哪些应该适用于任何域:

    'http://msdn.microsoft.com/en-us/library/windows/desktop/aa706065%28v=vs.85%29.aspx
    Set objNetwork = CreateObject("WScript.Network")
    strDomain = objNetwork.UserDomain
    Const ADS_SECURE_AUTHENTICATION = 1
    strUsername=InputBox("Enter Username:")
    strPassword=InputBox("Enter Password:")
    Set objDS = GetObject("LDAP:")
    On Error Resume Next
    Set objDomain = objDS.OpenDSObject("LDAP://" & strDomain, strUsername, strPassword, ADS_SECURE_AUTHENTICATION)
    If Err.Number Then
        WScript.Echo _
            "For user:" & vbCrLf & _
            "   " & strDomain & "\" & strUsername & vbCrLf & _ 
            "Error Number:" & vbCrLf & _
            "   " & Err.Number & vbCrLf & _
            "Error Description:" & vbCrLf & _
            "   " & Err.Description
    Else
        WScript.Echo _
            "Valid password entered for user" & vbCrLf & _
            "   " & strDomain & "\" & strUsername
    End If
    On Error Goto 0
Run Code Online (Sandbox Code Playgroud)