В. Как передать учетные данные для подключения к 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)