|
Получить пользователей в 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) Да это я тупанул, ваше решение рабочее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |