![]() |
![]() |
![]() |
|
Получить параметры пользователя из AD | ☑ | ||
---|---|---|---|---|
0
Dem1urg
26.11.10
✎
16:06
|
Задача. Нужно прочитать из AD данные по пользователю (название отдела, номер телефона). Я знаю имя учетной записи пользователя. В структуре AD пользователи расположены в разных папках. Я знаю только имя учетной записи и мне просто нужно получить некоторые свойства (например, номер телефона). Платформа 8.2. По результатам поиска я понял что нужно копать в строну LDAP, но пока не соображу, как правильно сформировать строку подключения.
|
|||
1
Dem1urg
26.11.10
✎
19:23
|
Модераторы, удалите тему, случайно задвоилась.
|
|||
2
Dem1urg
26.11.10
✎
19:24
|
(1) Ой. Не эту, другую v8: Получить параметры пользователя из AD Вопрос целиком только в этой есть.
|
|||
3
Злобный Йожег
26.11.10
✎
19:57
|
(1) случайно? хм...
|
|||
4
le_
26.11.10
✎
20:50
|
(0)
Set objConnection = CreateObject("ADODB.Connection") objConnection.Provider = "ADsDSOObject" objConnection.Properties("User ID") = "me" objConnection.Properties("Password") = "password" objConnection.Open "LDAP Provider" Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = objConnection objCommand.CommandText = "SELECT name FROM 'LDAP://server:389/ou=devices,ou=network,dc=sample,dc=local' WHERE owner='uid=me" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo objRecordSet.Fields.item("name").value objRecordSet.MoveNext Loop |
|||
5
ДенисЧ
26.11.10
✎
20:52
|
есть умная книга, "Системное программирование на 1с" Михайлова. Там этот вопрос рассматривается.
Сама книга вполне гуглится вот... |
|||
6
Dem1urg
27.11.10
✎
13:06
|
(4), (5) спасибо, будем пробовать
|
|||
7
Dem1urg
27.11.10
✎
23:29
|
В результате получилось так
АДОКоннектор = Новый COMОбъект("ADODB.Connection"); АДОКоннектор.ConnectionString = "Provider=""ADsDSOObject"""; АДОКоннектор.Open(); ТекстЗапроса = " |SELECT AdsPath |FROM 'LDAP://" + ИмяДомена + "' |WHERE | objectCategory = 'user' | and objectClass = 'person' | and SAMAccountName = '" + УчетнаяЗапись + "' |ORDER BY sn |"; ВыборкаАДО = АДОКоннектор.Execute(ТекстЗапроса); Если НЕ ВыборкаАДО.EOF Тогда ПутьОбъекта = ВыборкаАДО.Fields("AdsPath").Value; ОбъектАД = ПолучитьCOMОбъект(ПутьОбъекта); Сообщить(ОбъектАД.sAMAccountName); Сообщить(ОбъектАД.cn); Сообщить(ОбъектАД.department); Сообщить(ОбъектАД.manager); Сообщить(ОбъектАД.telephoneNumber); Сообщить(ОбъектАД.mail); Сообщить(ОбъектАД.title); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |