Authentication 与AD相关的VBScript

Authentication 与AD相关的VBScript,authentication,vbscript,active-directory,Authentication,Vbscript,Active Directory,我有几个广告相关的vbscript和所有的r工作良好,但现在我需要添加一些东西到它,也就是说,当我双击vbscript运行它,我想提示询问用户名和密码,只有当输入的凭据存在于公司域中,它应该执行,否则会抛出一个错误 下面我发布了一个脚本,我得到了这个脚本,它将起到一半的作用,但即使这样也会抛出一个错误“登录失败:未知用户名或错误密码” 我还是一个初学者,任何帮助都会有很大帮助 'On Error Resume Next sUser = "userxyz" sDN = "uid=" & s

我有几个广告相关的vbscript和所有的r工作良好,但现在我需要添加一些东西到它,也就是说,当我双击vbscript运行它,我想提示询问用户名和密码,只有当输入的凭据存在于公司域中,它应该执行,否则会抛出一个错误

下面我发布了一个脚本,我得到了这个脚本,它将起到一半的作用,但即使这样也会抛出一个错误“登录失败:未知用户名或错误密码”

我还是一个初学者,任何帮助都会有很大帮助

'On Error Resume Next
sUser = "userxyz"
sDN = "uid=" & sUser & ",cn=users,dc=contoso,dc=com"
sRoot = "LDAP://ldapserver/cn=users,dc=contoso,dc=com"

Dim oDS: Set oDS = GetObject("LDAP:")

Dim oAuth: Set oAuth = oDS.OpenDSObject(sRoot, sDN, "Password", &H200)

MsgBox "Login Successful"
uid=…,cn=users,dc=contoso,dc=com
不是有效的可分辨名称。您可能是指
cn=…,cn=users,dc=contoso,dc=com
。注意,在这种情况下,
sUser
必须是用户的通用名称(属性
cn
),而不是用户名(属性
sAMAccountName
)。更换线路

sDN = "uid=" & sUser & ",cn=users,dc=contoso,dc=com"

您可以通过Active Directory用户和计算机检查AD对象的可分辨名称和其他属性。单击查看→ 高级功能,打开要检查的用户对象的属性,然后选择“属性编辑器”选项卡


如果
sUser
是用户名:您也可以将其用于身份验证,但需要同时指定用户名和域,如
CONTOSO\userxyz
userxyz@contoso.com

sUser = "userxyz@contoso.com"
sRoot = "LDAP://ldapserver/cn=users,dc=contoso,dc=com"

Dim oDS: Set oDS = GetObject("LDAP:")

Dim oAuth: Set oAuth = oDS.OpenDSObject(sRoot, sUser, "Password", &H200)

MsgBox "Login Successful"
sUser=”userxyz@contoso.com"
sRoot=“LDAP://ldapserver/cn=users,dc=contoso,dc=com”
Dim oDS:Set oDS=GetObject(“LDAP:”)
Dim oAuth:Set oAuth=oDS.OpenDSObject(sRoot、sUser、“Password”和H200)
MsgBox“登录成功”
sUser = "userxyz@contoso.com"
sRoot = "LDAP://ldapserver/cn=users,dc=contoso,dc=com"

Dim oDS: Set oDS = GetObject("LDAP:")

Dim oAuth: Set oAuth = oDS.OpenDSObject(sRoot, sUser, "Password", &H200)

MsgBox "Login Successful"