Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

список юзеров и их аттрибуты из AD

7.8K
20 октября 2006 года
thunder
16 / / 31.01.2005
Чтобы получить спиок пользователей запрос делаю такой:

defNC = objRoot.Get(""DefaultNamingContext"")
""<LDAP://"" & defNC &"">;(objectCategory=person);Name
;Subtree""

//далее в цикле достаем пользователей

А как быть, если надо ещё получать кое-какие аттрибуты для пользователей?
405
20 октября 2006 года
Dmitrii
554 / / 16.12.2004
Это зависит от того, что за атрибуты Вас интересуют.
В самом общем случае ответ таков - выполняем привязку к объекту Пользователь, а затем читаем значение нужного свойства.
Например:
 
Код:
Set objUser = GetObject("LDAP://cn=" & xName & ",ou=Проектный,ou=Отделы,dc=inst,dc=ru")
WScript.Echo "Пользователь: " & Mid(objUser.Name,4) & vbCr & _
"Статус учётной записи: " & CStr(objUser.AccountDisabled) & vbCr & _
"Путь к профилю: " & objUser.ProfilePath
7.8K
23 октября 2006 года
thunder
16 / / 31.01.2005
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000

objCommand.CommandText = _
";(objectCategory=User);Name;Subtree"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name").Value
objRecordSet.MoveNext
Loop
Этот код выводит спиок пользователей. Как получить свойства? В цикле делать привязку к конкретному пользователю? Мне нужен просто тупой список пользователей и некоторые их свойства(фамилия, телефон, номер комнаты и т.д.), я не знаю не отдела ни чего просто тупой список.
405
24 октября 2006 года
Dmitrii
554 / / 16.12.2004
[QUOTE=thunder]... Как получить свойства? ...[/QUOTE]
Вот пример:
Код:
Set objRoot = GetObject("LDAP://RootDSE")
domName = objRoot.Get("DefaultNamingContext")
Set objRoot = Nothing
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
findAttributes = "Name,Mail,TelephoneNumber,Division,Department"
objCommand.CommandText = "<LDAP://" & domName & ">;(&(objectCategory=Person)(objectClass=User));" & findAttributes & ";Subtree"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
Set objRSet = objCommand.Execute
numRecords = objRSet.RecordCount
Set scrShell = CreateObject("WScript.Shell")
WScript.Echo "Обнаружено записей: " & numRecords
If numRecords > 0 Then
    objRSet.MoveFirst
    Do Until objRSet.EOF Or stopFlag = True
        curUserInfo = Null
        For i = 0 To objRSet.Fields.Count - 1
            curUserInfo = curUserInfo & objRSet.Fields(i).Name & " = " & objRSet.Fields(i).Value & vbCr
        Next
        'Wscript.Echo curUserInfo
        xAnsver = scrShell.Popup(curUserInfo & vbCr & "Продолжить?", , "Результаты поиска", vbQuestion + vbYesNo)
        If xAnsver = vbYes Then
            objRSet.MoveNext
        Else
            stopFlag = True
        End If
    Loop
End If
Set scrShell = Nothing
Set objRSet = Nothing
Set objCommand = Nothing
Set objConnection = Nothing

Ключ к решению Вашей задачи заключается, собственно, в паре строк:
 
Код:
findAttributes = "Name,Mail,TelephoneNumber,Division,Department"
objCommand.CommandText = "<LDAP://" & domName & ">;(&(objectCategory=Person)(objectClass=User));" & findAttributes & ";Subtree"

В пример я включил несколько "попавшихся под руки" свойств. Все прочие можно найти в MSDN, в разделе, посвящённом схеме AD.
7.8K
26 октября 2006 года
thunder
16 / / 31.01.2005
Все я разобрался в чем дело. Мой скрипт сразу работал просто я его использовал в 1С, а результат его работы неправильно проанализировал, ну в общем всё ок. Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог