|   |   | 
| 
 | Получить пользователей в 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 | 
        а посмотреть в сделанном?
 http://catalog.mista.ru/public/all/?st=t&sort=postsd&public-filter%5Bsearch%5D=LDAP | |||
| 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 | ||||
| 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) Да это я тупанул, ваше решение рабочее.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |