Перебрал несколько публикаций - не запускалось сразу , приходилось допиливать, неудобное представление результата, избыточный код и т.п.
Самым удобный вариант нашел тут:
//http://forum.codeby.net/topic35362.html
Большое спасибо автору.
Переписал для себя.
Данные выводятся в таблицу, для добавления одного реквизита достаточно добавить одну строку (там где формируется список реквизитов).
Список доступных полей взял тут:
http://www.forum.mista.ru/topic.php?id=683770
Вот что получилось:
///////////////////////////////////////////////////
Процедура ADНажатие(Элемент)
//Алгоритм от Darlock
//
http://forum.codeby.net/user14592.html
//
http://forum.codeby.net/topic35362.html
// необходимые реквизиты добавлять в этот список:
СписокРеквизитов=Новый СписокЗначений;
СписокРеквизитов.Добавить("DisplayName");//Имя пользователя
СписокРеквизитов.Добавить("Mail"); //Эл.почта
СписокРеквизитов.Добавить("sAMAccountName"); //Логин (Имя пользователя в домене)
СписокРеквизитов.Добавить("TelephoneNumber"); // Телефон
ТЗ=Новый ТаблицаЗначений;
СтрСписок="";
Для Каждого Рекв Из СписокРеквизитов Цикл
ТЗ.Колонки.Добавить(Рекв);
СтрСписок=СтрСписок+","+Рекв;
КонецЦикла;
СтрСписок=Сред(СтрСписок,2);
КомандаАДО = Новый COMОбъект("ADODB.Command");
СоединениеАДО = Новый COMОбъект("ADODB.Connection");
СоединениеАДО.Provider = "ADsDSOObject";
СоединениеАДО.Open("Active Directory Provider");
КомандаАДО.ActiveConnection = СоединениеАДО;
Попытка
RootDSE = ПолучитьCOMОбъект("LDAP://RootDSE");
НашДомен = RootDSE.Get("defaultNamingContext");
База = "<LDAP://" + НашДомен + ">";
Исключение
Сообщить("Не удалось подключиться к домену ");
КонецПопытки;
Фильтр = "(&(objectCategory=person)(objectClass=user)"+")";
ТекстЗапроса = База + ";" + Фильтр + ";" + СтрСписок + ";subtree";
КомандаАДО.CommandText = ТекстЗапроса;
КомандаАДО.Properties("Page Size").Value = 100;
КомандаАДО.Properties("Timeout").Value = 30;
КомандаАДО.Properties("Cache Results").Value = Ложь;
ВыборкаАДО = КомандаАДО.Execute();
Пока НЕ ВыборкаАДО.EOF Цикл
DisplayName= СокрЛП(Строка(ВыборкаАДО.Fields("DisplayName").Value));
Если Не ПустаяСтрока(DisplayName) Тогда
СтрТЗ=ТЗ.Добавить();
Для Каждого Рекв Из СписокРеквизитов Цикл
СтрТЗ[Рекв.Значение]=СокрЛП(Строка(ВыборкаАДО.Fields(Рекв.Значение).Value))
КонецЦикла;
КонецЕсли;
ВыборкаАДО.MoveNext();
КонецЦикла;
ВыборкаАДО.Close();
СоединениеАДО.Close();
Сообщить("Количество записей АД: "+Формат(ТЗ.Количество()));
ТЗ.Сортировать("DisplayName");
ТЗ.ВыбратьСтроку();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////