Простая обработка для пакетного создания пользователей в 1С по данным Active Directory. Из AD берется имя пользователя, данные для аутентификации, адрес электронной почты.
Особенности:
— возможность выбора контейнера AD из дерева, включающего все домены (субдомены);
— список контейнеров и пользователей формируется субъективно намного быстрее, чем при выборе пользователя Windows в стандартном диалоге настройки пользователя БД;
— возможность пакетного создания пользователей.
Ограничения:
— в версии на управляемых формах поддерживается только так называемый "упрощенный" режим управления доступом (без разграничения прав на уровне записей);
Полезные ссылки:
— http://www.script-coding.com/Python/LDAP.html — содержательная статья по LDAP;
— http://support.microsoft.com/kb/315071 — информация по настройке политики LDAP (в т.ч. выше упомянутый параметр MaxPageSize);
— //infostart.ru/public/293755/ — полезная разработка от adapter;
— http://www.ldapadmin.org/ — при разработке и отладке очень пригодился этот LDAP-браузер.
Проверялось на БП 2.0, 3.0 (КОРП), ЗУП 2.5, УТ 10.3.
Если найдете ошибки или есть какие-то вопросы — пишите. Спасибо за Ваши "плюсы" и отзывы! 🙂
UPD 05.02.2024: Небольшие fix-ы в процедурах получения данных LDAP
UPD 21.10.2014: В обеих версиях обработки решена проблема с невозможностью прочитать из AD количество записей, превышающее MaxPageSize, заданное в политиках LDAP (как правило 1000 записей). Теперь чтение производится постранично по 100 записей. Кому интересно, суть проблемы и решение см. здесь.
Обновлена версия на управляемых формах под сравнительно свежий релиз типовой конфигурации (тестировалось на Бухгалтерии 3.0.34.14): небольшой fix перемещенных процедур общих модулей; модальные окна переделаны под новую идеологию 8.3.
(1) comol, ага только заплати 320 USD, а здесь решение подешевле будет)
(1) comol, спасибо за мнение.
ITIL, кстати, давно-давно у нас в компании собирались внедрять, но как-то не сложилось — по-возможности постараюсь познакомиться с аналогичным функционалом в ITIL.
p.s. Повторюсь, что публикация ни на что не претендует. Если кому пригодится — здорово, не пригодится — тоже не беда 🙂 Как я говорил, делал под себя, а, точнее, под администраторов, которые заведуют у нас в компании 1С-ными учетками. Нужно было что-то достаточно простое, с возможностью выбирать из понятного админам дерева AD. На момент разработки, видимо, ничего подходящего не нашел — решил написать самопал.
(0) плюс.
Пожелания
Сделай возможность еще вытягивания фоток из АД, тогда это будет вообще айс.
Для большого количества актуально.
(1) comol, соглашусь с Вами. Сам когда смотрел что там есть пользователь из Итилиума, недоумевал, зачем нужна сторонняя обработка.
Автору рекомендую на нее одним глазком взглянуть 🙂
+ однозначно. Зачем покупать ITIL за 9000, если нужна только одна эта обработка. Да и при чем здесь баян, если автор писал этот «самопал» для себя как отдельную обработку, а не часть конфы выложил…
ув. автор, подскажите, работает ли под управляемым приложением 8.2?
(10) katunya88,
нет, в управляемом не работает.Добавил тестовую версию на управляемых формах.
спасибо за обработку, возьму себе за основу
А у кого-нибудь есть обработка не чтения из АД в 1С, а записи из 1С в АД?
а в итиле, так вами любимом, реализовано ли это в тонком клиенте?
если да, то как? У меня на сервере никак LDAP запрос не хочет выполнятся..
в качестве бесплатного начинания шутка хорошая и как демо-код работы с LDAP на 1С тоже кому то пригодится. Но на практике применить сложновато будет, потому что база одна, настройки прав RLS не поддерживаются, создание в AD нету и пр. Поэтому всегда и существуют платные версии, в которых вопросы проработаны и все готово к использованию. Итилиум ведь не за одну обработку создания денег требует, а за весь продукт в целом.
(13) alex_davydov, на инфостарте есть такие. поищи. если не забуду — скину ссыль
Выложите кто-нибудь код обработки.
Есть в обработке возможность считывать GUID пользователя в читабельном виде?
(18) Mogilnikova,
Если Вы про AD-шный GUID пользователя, то нет — он при загрузке никак не обрабатывается. Хотя в-принципе, при небольшой доработке, можно считать все поля, доступные для чтения через протокол LDAP.
При открытии в 1С: Документооборот 8 КОРП выдается ошибка «Метод объекта не обнаружен (УпрощенныйИнтерфейсНастройкиПравДоступа)». Если есть возможность просьба доработать обработку и под эту конфигурацию.
(20) severnyj,
К сожалению, нет под рукой такой конфигурации. Если скинете cf, попробую помочь (пишите в личку).
Немного допилил запрос, чтобы была возможность получить employeeid из AD. А возвращает NULL. Если смотрю через ADExplorer — заполнен.
Кто-то может объяснить как побороть? В чём причина? Спасибо!
(22)
Алексей, не увидев Ваш запрос сложно что-то советовать.
(23)Александр, всё стандартно, только добавил employeeid
<GC://OU=&&&&,DC=&&&&,DC=root,DC=corp>;(&(objectCategory=person)(objectClass=user)); ADsPath, Name, DisplayName, Mail, sAMAccountName, employeeid;onelevel
получаю всю информацию по имени mail а employeeid = NULL
(24)
Да, запрос отрабатывает. Может быть, с правами что-то… Насколько я знаю, в AD можно ограничить доступ к конкретному атрибуту объекта.
А у Вас тоже NULL возвращает? Если бы было ограничение доступа к конкретному атрибуту, то я его под своей учеткой и в ADExplorer не смог увидеть. И ещё запрос через командную строку выполнял с помощью Dsquery- возвращает заполненный employeeid. А вот через ADODB.Command NULL. Второй день ничего не получается.
(26)
У меня возвращает значения (не NULL). Запрос и через консоль LDAP-запросов выполнял и через обработку загрузки из AD (смотрел во отладчике).
Кстати, если Вы используете версию на управляемых формах в клиент-серверной среде, то запрос может выполняться на сервере, тогда надо учитывать права того пользователя, под которым запущены сервисы 1С.
(27)Спасибо за ответы! Буду дальше копать. Радует уже то, что со стороны 1с все настройки и запрос верны, раз у Вас возвращает значение.
Спасибо за обработку. Скачал пару лет назад, сейчас после доработок сделали следующее с ДО: со всех баз ЗУП (2.5 и 3.1) выгружаются пользователи в Документооборот. В документообороте регламентным заданием на основе кода данной обработки заполняются из домена контакты пользователя (логин, почта, телефон). У нас несколько городов, у каждого свой поддомен, которому соответствует «рабочая группа» (группа пользователей) в 1С, с правами по умолчанию (возможность создавать заявки и служебки по собственной организации). Скоро «уговорим» админов и будем обновлять данными из ДО в AD, что бы исключить текущий двойной ввод информации.
Ошибка! Для упр форм.
1С:Предприятие 8.3 (8.3.9.1850)
Документооборот 8 ПРОФ, редакция 2.1 (2.1.7.9)
(30)
Тестировалось только на БП 2.0, 3.0 (КОРП), ЗУП 2.5, УТ 10.3 (об этом сказано в описании к обработке).
Для других конфигураций, вполне возможно, понадобится напильник.
(2) Что гугл уже не отображает результаты ODBC LDAP Driver?
И там где предполагается решение не указана ссылка.
Если не сложно добавьте пожалуйста. Интересно, почитать решение.
Спасибо.
Оригинальную ссылку не нашел, добавил ссылку на аналогичное решение.
https://www.oreilly.com/library/view/active-directory-cookbook/0596004648/ch04s08.html
А есть что то типо Загрузка пользователей 1С в Active Directory ? нашёл толькоhttps://infostart.ru/public/275916/ , но это мало
(35) У меня есть создание из сотрудникаhttps://infostart.ru/public/972510/