Тема: VBS:Как получить значение элемента массива?
Задача такая:
Надо из AD достать атрибуты "managedBy" для класса computer и "managedObjects" для класса user.
скрипт такой:
On Error Resume Next
LDAPServerName = "10.10.10.10/dc=domain,dc=local"
Comp = "gli"
User = "vvte"
Set ConnADODB = CreateObject("ADODB.Connection")
ConnADODB.Provider = "ADSDSOObject"
ConnADODB.Open "ADs Provider"
query1 = "<LDAP://" & LDAPServerName & ">;(&(ObjectClass=computer)(name=*" & Comp & "*));managedBy;subtree"
Set RS1 = ConnADODB.Execute(cstr(query1))
Set oUser = RS1("managedBy")
temp = (CStr(oUser))
WScript.Echo temp
query2 = "<LDAP://" & LDAPServerName & ">;(&(objectCategory=person)(ObjectClass=user)(sAMAccountName=*" & User & "*));sAMAccountName, managedObjects;subtree"
Set RS2 = ConnADODB.Execute(cstr(query2))
arr = RS2.GetRows
'arr = RS2.GetRows(,,(1))
Первая часть (ищем имя пользователя по атрибуту managedBy) работает отлично.
Во второй части (ищем имена компов по атрибуту managedObjects) возникает затык. в дебаггере видно, что значения атрибута переданы в массив arr, но как их оттуда достать для использования?
Вот скриншот vbsedit
Ubound не работает, что ни пишу всегда ноль возвращает. Rank тоже не работает. Или он только в VB?
Меня интересуют последние две строчки на скрине.

