Загрузка пользователей 1С из Active Directory

Публикация № 156207

Обработки - Обработка справочников

Active Directory LDAP администрирование

71
Обработка для пакетного создания пользователей в 1С по данным Active Directory.

Простая обработка для пакетного создания пользователей в 1С по данным Active Directory. Из AD берется имя пользователя, данные для аутентификации, адрес электронной почты.

Особенности:

- возможность выбора контейнера AD из дерева, включающего все домены (субдомены);
- список контейнеров и пользователей формируется субъективно намного быстрее, чем при выборе пользователя Windows в стандартном диалоге настройки пользователя БД;
- возможность пакетного создания пользователей.

Ограничения:
- в версии на управляемых формах поддерживается только так называемый "упрощенный" режим управления доступом (без разграничения прав на уровне записей);

Полезные ссылки:
- http://www.script-coding.com/Python/LDAP.html - содержательная статья по LDAP;
- http://support.microsoft.com/kb/315071 - информация по настройке политики LDAP (в т.ч. выше упомянутый параметр MaxPageSize);
- //1c.digi-mas.ru/public/293755/ - полезная разработка от adapter;
- http://www.ldapadmin.org/ - при разработке и отладке очень пригодился этот LDAP-браузер.

Проверялось на БП 2.0, 3.0 (КОРП), ЗУП 2.5, УТ 10.3.

Если найдете ошибки или есть какие-то вопросы - пишите. Спасибо за Ваши "плюсы" и отзывы! :)


UPD 05.02.2015: Небольшие fix-ы в процедурах получения данных LDAP

UPD 21.10.2014: В обеих версиях обработки решена проблема с невозможностью прочитать из AD количество записей, превышающее MaxPageSize, заданное в политиках LDAP (как правило 1000 записей). Теперь чтение производится постранично по 100 записей. Кому интересно, суть проблемы и решение см. здесь.
Обновлена версия на управляемых формах под сравнительно свежий релиз типовой конфигурации (тестировалось на Бухгалтерии 3.0.34.14): небольшой fix перемещенных процедур общих модулей; модальные окна переделаны под новую идеологию 8.3.

71

Скачать файлы

Наименование Файл Версия Размер
ЗагрузкаУчетныхЗаписейИзAD.epf
.epf 27,35Kb
21.02.17
334
.epf 1.3 27,35Kb 334 Скачать
ЗагрузкаУчетныхЗаписейИзAD_УправляемыеФормы.epf
.epf 28,48Kb
21.02.17
276
.epf 1.2 28,48Kb 276 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. comol 3911 15.10.12 12:48 Сейчас в теме
Опять "баян"... 1C:ITIL содержит загрузку пользователей и универсальную и полезную...
mitia.mackarevich; +1 2 Ответить
2. www2000 54 15.10.12 13:14 Сейчас в теме
(1) comol, ага только заплати 320 USD, а здесь решение подешевле будет)
32. awk 691 25.12.17 09:37 Сейчас в теме
(2) Что гугл уже не отображает результаты ODBC LDAP Driver?
3. KAPACEB.AA 15.10.12 13:16 Сейчас в теме
(1) comol, спасибо за мнение.

ITIL, кстати, давно-давно у нас в компании собирались внедрять, но как-то не сложилось - по-возможности постараюсь познакомиться с аналогичным функционалом в ITIL.

p.s. Повторюсь, что публикация ни на что не претендует. Если кому пригодится - здорово, не пригодится - тоже не беда :) Как я говорил, делал под себя, а, точнее, под администраторов, которые заведуют у нас в компании 1С-ными учетками. Нужно было что-то достаточно простое, с возможностью выбирать из понятного админам дерева AD. На момент разработки, видимо, ничего подходящего не нашел - решил написать самопал.
7. Новенький_2209 06.11.12 20:58 Сейчас в теме
(1) comol, соглашусь с Вами. Сам когда смотрел что там есть пользователь из Итилиума, недоумевал, зачем нужна сторонняя обработка.

Автору рекомендую на нее одним глазком взглянуть :)
4. iov 364 16.10.12 20:13 Сейчас в теме
5. Kyrales 129 06.11.12 19:57 Сейчас в теме
Пожелания

Сделай возможность еще вытягивания фоток из АД, тогда это будет вообще айс.
vadimlp77; +1 Ответить
6. Bacemo 06.11.12 20:12 Сейчас в теме
Для большого количества актуально.
9. angele 08.11.12 15:47 Сейчас в теме
+ однозначно. Зачем покупать ITIL за 9000, если нужна только одна эта обработка. Да и при чем здесь баян, если автор писал этот "самопал" для себя как отдельную обработку, а не часть конфы выложил...
10. katunya88 19 13.11.12 11:02 Сейчас в теме
ув. автор, подскажите, работает ли под управляемым приложением 8.2?
11. KAPACEB.AA 13.11.12 11:10 Сейчас в теме
(10) katunya88,
нет, в управляемом не работает.

Добавил тестовую версию на управляемых формах.
12. tehas 47 05.12.12 12:40 Сейчас в теме
спасибо за обработку, возьму себе за основу
13. alex_davydov 79 19.12.12 15:35 Сейчас в теме
А у кого-нибудь есть обработка не чтения из АД в 1С, а записи из 1С в АД?
16. dock 35 23.12.13 19:53 Сейчас в теме
(13) alex_davydov, на инфостарте есть такие. поищи. если не забуду - скину ссыль
14. nano1c 135 06.08.13 16:47 Сейчас в теме
а в итиле, так вами любимом, реализовано ли это в тонком клиенте?
если да, то как? У меня на сервере никак LDAP запрос не хочет выполнятся..
15. adapter 502 13.08.13 14:26 Сейчас в теме
в качестве бесплатного начинания шутка хорошая и как демо-код работы с LDAP на 1С тоже кому то пригодится. Но на практике применить сложновато будет, потому что база одна, настройки прав RLS не поддерживаются, создание в AD нету и пр. Поэтому всегда и существуют платные версии, в которых вопросы проработаны и все готово к использованию. Итилиум ведь не за одну обработку создания денег требует, а за весь продукт в целом.
17. mc1c80 03.07.14 14:41 Сейчас в теме
Выложите кто-нибудь код обработки.
megatrend; +1 Ответить
18. Mogilnikova 39 16.10.14 19:57 Сейчас в теме
Есть в обработке возможность считывать GUID пользователя в читабельном виде?
Kosstikk; +1 Ответить
19. KAPACEB.AA 387 17.10.14 09:49 Сейчас в теме
(18) Mogilnikova,
Если Вы про AD-шный GUID пользователя, то нет - он при загрузке никак не обрабатывается. Хотя в-принципе, при небольшой доработке, можно считать все поля, доступные для чтения через протокол LDAP.
20. severnyj 23.03.15 11:08 Сейчас в теме
При открытии в 1С: Документооборот 8 КОРП выдается ошибка "Метод объекта не обнаружен (УпрощенныйИнтерфейсНастройкиПравДоступа)". Если есть возможность просьба доработать обработку и под эту конфигурацию.
21. KAPACEB.AA 387 25.03.15 12:21 Сейчас в теме
(20) severnyj,
К сожалению, нет под рукой такой конфигурации. Если скинете cf, попробую помочь (пишите в личку).
22. atroxa 5 06.04.17 08:24 Сейчас в теме
Немного допилил запрос, чтобы была возможность получить employeeid из AD. А возвращает NULL. Если смотрю через ADExplorer - заполнен.
Кто-то может объяснить как побороть? В чём причина? Спасибо!
23. KAPACEB.AA 387 06.04.17 08:47 Сейчас в теме
(22)
Алексей, не увидев Ваш запрос сложно что-то советовать.
24. atroxa 5 06.04.17 08:56 Сейчас в теме
(23)Александр, всё стандартно, только добавил employeeid
<GC://OU=&&&&,DC=&&&&,DC=root,DC=corp>;(&(objectCategory=person)(objectClass=user)); ADsPath, Name, DisplayName, Mail, sAMAccountName, employeeid;onelevel
получаю всю информацию по имени mail а employeeid = NULL
25. KAPACEB.AA 387 06.04.17 11:36 Сейчас в теме
(24)
Да, запрос отрабатывает. Может быть, с правами что-то... Насколько я знаю, в AD можно ограничить доступ к конкретному атрибуту объекта.
26. atroxa 5 06.04.17 13:04 Сейчас в теме
А у Вас тоже NULL возвращает? Если бы было ограничение доступа к конкретному атрибуту, то я его под своей учеткой и в ADExplorer не смог увидеть. И ещё запрос через командную строку выполнял с помощью Dsquery- возвращает заполненный employeeid. А вот через ADODB.Command NULL. Второй день ничего не получается.
27. KAPACEB.AA 387 06.04.17 14:33 Сейчас в теме
(26)
У меня возвращает значения (не NULL). Запрос и через консоль LDAP-запросов выполнял и через обработку загрузки из AD (смотрел во отладчике).
Кстати, если Вы используете версию на управляемых формах в клиент-серверной среде, то запрос может выполняться на сервере, тогда надо учитывать права того пользователя, под которым запущены сервисы 1С.
28. atroxa 5 07.04.17 08:58 Сейчас в теме
(27)Спасибо за ответы! Буду дальше копать. Радует уже то, что со стороны 1с все настройки и запрос верны, раз у Вас возвращает значение.
29. Puk2 171 15.08.17 15:45 Сейчас в теме
Спасибо за обработку. Скачал пару лет назад, сейчас после доработок сделали следующее с ДО: со всех баз ЗУП (2.5 и 3.1) выгружаются пользователи в Документооборот. В документообороте регламентным заданием на основе кода данной обработки заполняются из домена контакты пользователя (логин, почта, телефон). У нас несколько городов, у каждого свой поддомен, которому соответствует "рабочая группа" (группа пользователей) в 1С, с правами по умолчанию (возможность создавать заявки и служебки по собственной организации). Скоро "уговорим" админов и будем обновлять данными из ДО в AD, что бы исключить текущий двойной ввод информации.
irbis-auto; KAPACEB.AA; +2 Ответить
30. Программулькин 282 21.12.17 16:10 Сейчас в теме
Ошибка! Для упр форм.
1С:Предприятие 8.3 (8.3.9.1850)
Документооборот 8 ПРОФ, редакция 2.1 (2.1.7.9)
Прикрепленные файлы:
megatrend; +1 Ответить
31. KAPACEB.AA 387 22.12.17 16:54 Сейчас в теме
(30)
Тестировалось только на БП 2.0, 3.0 (КОРП), ЗУП 2.5, УТ 10.3 (об этом сказано в описании к обработке).
Для других конфигураций, вполне возможно, понадобится напильник.
33. Diversus 1924 26.10.18 14:00 Сейчас в теме
В обеих версиях обработки решена проблема с невозможностью прочитать из AD количество записей, превышающее MaxPageSize, заданное в политиках LDAP (как правило 1000 записей). Теперь чтение производится постранично по 100 записей. Кому интересно, суть проблемы и решение см. здесь

И там где предполагается решение не указана ссылка.
Если не сложно добавьте пожалуйста. Интересно, почитать решение.
Спасибо.
34. KAPACEB.AA 387 26.10.18 14:26 Сейчас в теме
Оригинальную ссылку не нашел, добавил ссылку на аналогичное решение.
https://www.oreilly.com/library/view/active-directory-cookbook/0596004648/ch04s08.html
35. burstmashine 11.12.18 08:21 Сейчас в теме
А есть что то типо Загрузка пользователей 1С в Active Directory ? нашёл только https://infostart.ru/public/275916/, но это мало
36. Туки Туки 27 15.01.19 08:28 Сейчас в теме
(35) У меня есть создание из сотрудника https://infostart.ru/public/972510/
Оставьте свое сообщение