АДОКоннектор = Новый COMОбъект("ADODB.Connection");
АДОКоннектор.Open("Provider=ADSDSOObject; USER ID=SuperUser ; Password=SuperUserPWD ");
ТекстЗапроса = "<LDAP://server1>;(&(objectCategory=person)(objectClass=user)(cn="+ЭтотОбъект.Наименование+")(!(userAccountControl:1.2.840.113556.1.4.803:=2)));AdsPath;subtree";
ВыборкаАДО = АДОКоннектор.Execute(ТекстЗапроса);
Пока НЕ ВыборкаАДО.EOF Цикл
ПутьОбъекта = ВыборкаАДО.Fields(0).Value;
ОбъектАД = ПолучитьCOMОбъект(ПутьОбъекта);
ОбъектАД.Put("mobile", "123");
ОбъектАД.SetInfo();
ВыборкаАДО.MoveNext();
КонецЦикла;
АДОКоннектор.Close();
На строке ОбъектАД.Put("mobile", "123"); ругается, что-то типа "Отказано в доступе"..
Фактически, я подключаюсь к AD не под SuperUser'ом, которого указал во 2 строке, а под собой.
И, таки да, у меня нет прав.
А у SuperUser'а есть.
Как быть? Почему игнорируется строка 2?
Чисто теоретически, разобраться в вопросе, возможно помогла бы вот эта обработка http://infostart.ru/public/125681/ хотя и не уерен..
АДОКоннектор = Новый COMОбъект("ADODB.Connection");
АДОКоннектор.Open("Provider=ADSDSOObject; USER ID=SuperUser ; Password=SuperUserPWD ");
ТекстЗапроса =
"<LDAP://server1>;(&(objectCategory=person)(objectClass=user(cn="+ЭтотОбъект.Наименование+")(!(userAccountControl:1.2.840.113556.1.4.803:=2)));AdsPath;subtree";
ВыборкаАДО = АДОКоннектор.Execute(ТекстЗапроса);
Пока НЕ ВыборкаАДО.EOF Цикл
ПутьОбъекта = ВыборкаАДО.Fields(0).Value;
ОбъектАД = ПолучитьCOMОбъект(ПутьОбъекта);
ОбъектАД.Put("mobile", "123");
ОбъектАД.SetInfo();
Тоже столкнулся с подобной задачей.
Удалось выяснить причину проблемы ?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс