В. Как передать учетные данные для подключения к Active Directory (AD) с помощью сценария?
О. .
On Error Resume Next
Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_ENCRYPTION = 2
Dim uid, pwd, ldapPath
ldapPath = "LDAP://CN=Clark Kent,OU=Justice
League,DC=savilltech,dc=com"
WScript.StdOut.Write "User name (with domain prefix): "
uid = WScript.StdIn.ReadLine
WScript.StdOut.Write "Please enter your password:"
pwd = WScript.StdIn.ReadLine
Dim LDAP 'As IADsOpenDSObject
Set LDAP = GetObject("LDAP:")
Set obj = LDAP.OpenDSObject(ldapPath, uid, pwd, _
ADS_USE_ENCRYPTION OR ADS_SECURE_AUTHENTICATION)
if err.number<>0 then
wscript.echo "Error connecting to AD " & err.number,
err.description
err.Clear
Wscript.Quit(0)
end if
wscript.echo "SAM Account name is " & obj.sAMAccountName
Важная строка -- LDAP.OpenDSObject, которая обрабатывает введенные имя пользователя и пароль, как показано в следующем примере:
D:projectsVBScripts>cscript authtoad.vbs
User name (with domain prefix): savilltechruce
Please enter your password:password
SAM Account name is clark
Не нужно запрашивать, чтобы пользователь ввел имя и пароль; можно просто установить их как строковые переменные или даже жестко задать их, как показано в следующем примере:
uid = "savilltechruce"
pwd = "password"
Dim LDAP 'As IADsOpenDSObject
Set LDAP = GetObject("LDAP:")
Set obj = LDAP.OpenDSObject(ldapPath, uid, pwd, _
ADS_USE_ENCRYPTION OR ADS_SECURE_AUTHENTICATION)