Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Получения информации о профиле из MS AD в 1С

Недавно была поставлена банальная задача — получить электронный адрес пользователя из MS Active Directory.

Как я решил данную задачу — ниже.

active-directory-i-1S

Получения данных из MS Active Directory в 1С

Моя функция возвращала структуру, содержащую полное имя пользователя и его электронный адрес. В качестве параметра из 1C передается логин пользователя и домен системы:

Функция ПолучитьИнформациюОПрофилеAD(ИмяВДомене, Домен)

Профиль = Новый Структура;

Попытка
//создание COM-объекта:
Connection = ПолучитьCOMОбъект(«»,»ADODB.Connection»);
Connection.Provider = «ADSDSOObject»;
Connection.Open(«Active Directory Provider»);
Исключение
Возврат Неопределено;
КонецПопытки;

Попытка
//создаем запрос для AD:
query = «SELECT ADsPath FROM ‘LDAP://DC=»+Домен+»,DC=root,DC=loc’ WHERE SAMAccountName='»+ИмяВДомене+»‘»;

rs = Connection.Execute(query);
Если НЕ rs.EOF() Тогда
obj = ПолучитьCOMОбъект(rs.Fields(0).Value);
Если obj.Class=»user» Тогда
//если всё сделано верно — в объекте obj будет содержатся структура с данными пользователя
Профиль.Вставить(«ПолноеИмя», obj.FullName);
Профиль.Вставить(«АдресЭлектроннойПочты», obj.EmailAddress);
КонецЕсли;
КонецЕсли;
rs.MoveNext();
Исключение
Возврат Неопределено;
КонецПопытки;
Connection.Close();

Возврат Профиль;

КонецФункции

С помощью этой функции можно получить не только email пользователя, но и другую информацию о пользователе.

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Остались вопросы?

СПРОСИТЕ в комментариях!

Добавить комментарий:

Ваш e-mail не будет опубликован.