cluster 1й вариант:
1. Читаем файл по строке
2. Формируем из прочитанных строк запрос вида "..... where DisplayName='user1'
or тут была ошибка в логике DisplayName='user2'.......",
3. выполняем
4. создаем массив CN-нок,
5. запускаем команду, что ты выше указал
Вариант 2й
1. Читаем файл по строке
2. Для каждой строки запускаем запрос ".... where DisplayName='user1'" и добавляем в один массив
и далее, как вариант 1.
Цитата: Как вытащить "destiguishedName" для каждого пользователя
Код: Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set LogFile=FSO.CreateTextFile("userlist.txt",true)
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, sAMAccountName, distinguishedName, Department from 'LDAP://OU=MyOU, DC=fabrikam, DC=com' " _
& "where objectCategory='user'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
LogFile.WriteLine(objRecordSet.Fields("Name").Value&";"&objRecordSet.Fields("sAMAccountName").Value&";"&objRecordSet.Fields("department").Value&";"&objRecordSet.Fields("distinguishedName").Value)
objRecordSet.MoveNext
Loop