Имя: Пароль:
1C
 
Получить пользователей в 1С из LDAP
0 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
2 ilyayakimets
 
16.08.19
12:35
(1) Скачивать не могу
3 ПускинАС
 
16.08.19
12:37
(1) слыш, чел скачать не может! а, ну скачал быстро! Выложил на яндекс диск!
4 ilyayakimets
 
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) пичалька...
6 ilyayakimets
 
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 например.
а, вообще тут таких трудных не любят, пытайся сам хоть чуток башкой подумать... иногда.. можно не в попад..
8 GGDots
 
16.08.19
20:20
(6) у меня реализовано так:

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

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

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