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

1. sinitsin86 11 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. Туки Туки 51 22.05.19 06:33 Сейчас в теме
+1 Какую ошибку вообще выдает?
5. sinitsin86 11 27.05.19 11:24 Сейчас в теме
(4) Ругается на последней сроке листинга ПользовательAD.SetInfo().
При чтении данных в домене ошибок нет, при изменении данных - валится в ошибку:

{ИнтеграцияСAD ОбщийМодуль.ОбщегоНазначенияСервер.Модуль(276)}: Ошибка при вызове метода контекста (SetInfo)
по причине:
Произошла исключительная ситуация (Active Directory): The object already exists.
8. sinitsin86 11 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
Оставьте свое сообщение
Вакансии
Технический архитектор
Москва
зарплата от 300 000 руб. до 380 000 руб.
Полный день

Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день