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