LDAP запрос к стороннему домену
Коллеги, подскажите кто сталкивался.
Есть задача интеграции нескольких ИС ЗУП с доменами соответствующих компаний.
Все ИС размещены на одном сервере, служба сервера запущена под доменной УЗ Компании 1.
При обращении к домену Компании 1 могу менять данные в домене. В других доменах менять ничего не могу.
Права для УЗ Компании 1 выданы во всех доменах, в AD-эксплорерах проверял, все работает.
Как победить в 1С?
Есть задача интеграции нескольких ИС ЗУП с доменами соответствующих компаний.
Все ИС размещены на одном сервере, служба сервера запущена под доменной УЗ Компании 1.
При обращении к домену Компании 1 могу менять данные в домене. В других доменах менять ничего не могу.
Права для УЗ Компании 1 выданы во всех доменах, в AD-эксплорерах проверял, все работает.
Как победить в 1С?
НаименованиеПодразделения = СокрЛП(Подразделение.Наименование);
ОбработкаЗапятыхВИмени(НаименованиеПодразделения);
ОрганизационнаяЕдиницаВладелецОбъект = ПолучитьCOMОбъект("LDAP://" + ?(ПустаяСтрока(КорневаяOU), "", "OU=" + НаименованиеПодразделения + "," + ИтоговаяСтрокаПараметров));
ПользовательAD = ОрганизационнаяЕдиницаВладелецОбъект.Create("user", "CN=" + СокрЛП(Сотрудник.ФизическоеЛицо.Наименование));
ПользовательAD.userPrincipalName = ФормируемЛогинСотрудника(Сотрудник.ФизическоеЛицо) + "@COMPANY.RU";
ПользовательAD.sAMAccountName = ФормируемЛогинСотрудника(Сотрудник.ФизическоеЛицо);
СуществующийЛогинСотрудникаВAD = ПоискЛогинаСотрудникаВAD(СтрокаДоменногоИмени, ПользовательAD.userPrincipalName);
Если ЗначениеЗаполнено(СуществующийЛогинСотрудникаВAD) Тогда
Счетчик = 0;
Пока ЗначениеЗаполнено(СуществующийЛогинСотрудникаВAD) Цикл
Счетчик = Счетчик + 1;
НовыйЛогинСотрудника = ФормируемЛогинСотрудника(Сотрудник.ФизическоеЛицо) + ТранслитерацияИКАО(ВРег(Сред(Сотрудник.ФизическоеЛицо.Отчество,2,Счетчик)));
СуществующийЛогинСотрудникаВAD = ПоискЛогинаСотрудникаВAD(СтрокаДоменногоИмени, НовыйЛогинСотрудника + "@COMPANY.RU");
КонецЦикла;
ПользовательAD.userPrincipalName = НовыйЛогинСотрудника + "@COMPANY.RU";
ПользовательAD.sAMAccountName = НовыйЛогинСотрудника;
КонецЕсли;
ПользовательAD.Company = "Компания1";
ПользовательAD.c = "RU";
ПользовательAD.pwdLastSet = 0;
ПользовательAD.SetInfo();
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Ругается на последней сроке листинга ПользовательAD.SetInfo().
При чтении данных в домене ошибок нет, при изменении данных - валится в ошибку:
{ИнтеграцияСAD ОбщийМодуль.ОбщегоНазначенияСервер.Модуль(276)}: Ошибка при вызове метода контекста (SetInfo)
по причине:
Произошла исключительная ситуация (Active Directory): The object already exists.
При чтении данных в домене ошибок нет, при изменении данных - валится в ошибку:
{ИнтеграцияСAD ОбщийМодуль.ОбщегоНазначенияСервер.Модуль(276)}: Ошибка при вызове метода контекста (SetInfo)
по причине:
Произошла исключительная ситуация (Active Directory): The object already exists.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот