LDAP запрос к стороннему домену

1. sinitsin86 10 20.05.19 12:44 Сейчас в теме
Коллеги, подскажите кто сталкивался.

Есть задача интеграции нескольких ИС ЗУП с доменами соответствующих компаний.
Все ИС размещены на одном сервере, служба сервера запущена под доменной УЗ Компании 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();
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tvm 21.05.19 15:11 Сейчас в теме
(1) молча отрабатывает не ругается?
3. tvm 21.05.19 15:20 Сейчас в теме
(1) может с пустым паролем нельзя создавать пользователей?
4. Туки Туки 52 22.05.19 06:33 Сейчас в теме
+1 Какую ошибку вообще выдает?
5. sinitsin86 10 27.05.19 11:24 Сейчас в теме
(4) Ругается на последней сроке листинга ПользовательAD.SetInfo().
При чтении данных в домене ошибок нет, при изменении данных - валится в ошибку:

{ИнтеграцияСAD ОбщийМодуль.ОбщегоНазначенияСервер.Модуль(276)}: Ошибка при вызове метода контекста (SetInfo)
по причине:
Произошла исключительная ситуация (Active Directory): The object already exists.
8. sinitsin86 10 27.05.19 12:20 Сейчас в теме
(6) В теме ошибка аналогичная с методом SetInfo, но у меня не изменение, а создание УЗ.

Учетки у меня еще нет
9. tvm 27.05.19 12:47 Сейчас в теме +2 $m
(8) ошибка "The object already exists" вобщем-то говорит что пользователь есть. А в отладчике свойства этого объекта нужные показывает?
7. tvm 27.05.19 11:49 Сейчас в теме
(5) еще можно попробовать делать еще однин SetInfo перед ПользовательAD.pwdLastSet
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот