Вход | Регистрация
 

Получить пользователей в 1С из LDAP

Получить пользователей в 1С из LDAP
Я
   ilyayakimets
 
16.08.19 - 11:54
Необходимо получить данные пользователей из LDAP в 1С, для последующего использования этих данных. Подскажите с чего начать, пробовал, как тут в некоторых темах описано - не выходит.
На данный момент ошибка:

{Обработка.LDAP.Форма.Форма.Форма(55)}: Ошибка при вызове метода контекста (Execute)
rs = Соединение.Execute(query);
по причине:
Произошла исключительная ситуация (Active Directory): Произошла ошибка операции.

Соответственно query - запрос (query = "SELECT ADsPath FROM 'LDAP://" + ИмяДомена + "'")

Создаю объект так:
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Provider = "ADsDSOObject";
Соединение.Open("Active Directory Provider");
 
 
   Злопчинский
 
1 - 16.08.19 - 12:24
   ilyayakimets
 
2 - 16.08.19 - 12:35
(1) Скачивать не могу
   ПускинАС
 
3 - 16.08.19 - 12:37
(1) слыш, чел скачать не может! а, ну скачал быстро! Выложил на яндекс диск!
   ilyayakimets
 
4 - 16.08.19 - 13:28
Вот весь код:
query = "SEL ECT ADsPath FR OM 'LDAP://DC="+ИмяДомена+"'";    
rs = conn.Execute(query);    
Пока НЕ rs.EOF() Цикл     
    obj = ПолучитьCOMОбъект(rs.Fields(0).Value);     
    Если obj.Class="user" Тогда      
    Стр.НоваяПочта=СокрЛП(obj.EmailAddress);      
    Если Стр.НоваяПочта<>Стр.СтараяПочта Тогда       
             Стр.Установить=Истина;      
    КонецЕсли;     
    КонецЕсли;     
    rs.MoveNext();    
КонецЦикла; 

И ошибка:

{Обработка.LDAP.Форма.Форма.Форма(68)}: Ошибка при вызове метода контекста (Execute)
 rs = conn.Execute(query);    
по причине:
Произошла исключительная ситуация (Active Directory): Произошла ошибка операции.
   Злопчинский
 
5 - 16.08.19 - 13:31
(2) пичалька...
   ilyayakimets
 
6 - 16.08.19 - 17:16
Может кто хоть направит куда копать?
   ПускинАС
 
7 - 16.08.19 - 17:52
смотри попробуй выбрать учётки на vbs, или командой ps. Потом объект который ты используешь для получения данных пропиши в 1с.
вот допустим тебе скрипт
$OUpath = 'ou=Managers,dc=enterprise,dc=com'
$ExportPath = 'c:\data\users_in_ou1.csv'
Get-ADUser -Filter * -SearchBase $OUpath | Select-object
DistinguishedName,Name,UserPrincipalName | Export-Csv -NoType $ExportPath
  
это PS вот можешь записать в файл.ps потом выполнять его и брать csv например.
а, вообще тут таких трудных не любят, пытайся сам хоть чуток башкой подумать... иногда.. можно не в попад..
   GGDots
 
8 - 16.08.19 - 20:20
(6) у меня реализовано так:

https://craft1c.ru/1s-i-active-directory/

Загружает без проблем
   GGDots
 
9 - 16.08.19 - 20:21
   ilyayakimets
 
10 - 19.08.19 - 10:37
(7) Знаю, что не любят)
Просто впервые с AD приходится работать, у меня-то в целом опыт в программировании не очень, студент.
Стараюсь сам, спасибо.
   ilyayakimets
 
11 - 19.08.19 - 10:37
(9) Спасибо, буду пробовать.
   ilyayakimets
 
12 - 19.08.19 - 10:45
(8) Почему-то RootDSE не хочет работать, ранее уже пытался и всё та же ошибка:

{ВнешняяОбработка.craft1c_ЗагрузкаПользователейИзAD.Форма.Форма.Форма(16)}: Ошибка при вызове метода контекста (ПолучитьCOMОбъект)
    КореньDSE         = ПолучитьCOMОбъект("LDAP://rootDSE"); 
по причине:
Ошибка получения объекта COM: -2147023541(0x8007054B): Указанный домен не существует или к нему невозможно подключиться.
   ilyayakimets
 
13 - 19.08.19 - 10:55
Вроде как разобрался, всем спасибо.
   GGDots
 
14 - 19.08.19 - 11:27
Вот зайдет человек почитать про похожую проблему, и вместо решения увидит фразу: "Вроде как разобрался, всем спасибо."
А что сделал то в итоге?
   ilyayakimets
 
15 - 22.08.19 - 10:54
(14) Да это я тупанул, ваше решение рабочее.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.