Консоль запросов к Active Directory по протоколу LDAP



Пример кода на 1С для отладки и проверки текстов запросов.
Простой универсальный пример работы с ActiveDirectory из 1С по протоколу LDAP.
Ничего не создает в AD, только читает, так что начинающий ничего не сможет испортить 🙂
Рекомендую для первоначального изучения ссылки по теме:

— примеры LDAP запросов
http://social.technet.microsoft.com/wiki/contents/articles/8077.active-directory-ldap-ru-ru.aspx

— Применение провайдера LDAP для подключения к службам каталогов
http://www.askit.ru/custom/progr_admin/m15/15_03_adsi_ldap_provider.htm

8 Comments

  1. theshadowco

    (0) В свое время была публикация http://infostart.ru/public/16854/, в программе есть возможность не только LDAP, но и другие объекты использовать.

    Reply
  2. adapter

    Я не претендую на оригинальность, зато претендую на простоту 🙂

    тема LDAP, AD, ADSI возникла не сейчас и конечно по ней есть наработки, и на 1С тоже. И на этом сайте в том числе.

    Например я столкнулся с необходимостью лет 7 назад (вот моя публикация «Пакетное создание пользователей» http://infostart.ru/public/18591/) там тоже используется протокол LDAP для доступа к AD.

    А затем начал развивать, добавлять универсальности для разных баз, настройки, правила и пр. и в итоге получился продукт «Helpdesk». Конечно тогда функционал был минимальный а теперь получилось вот так

    Adaptersoft : HelpDesk_Corp — автоматизация сопровождения 1С http://infostart.ru/public/73535/

    Вчера возникла необходимость отладить запрос LDAP — поправил консоль и выложил, может еще кому пригодится.

    Reply
  3. ivanov660

    Я для подобных целей предпочитаю использовать power shell

    Reply
  4. adapter

    power shell это конечно здорово, если знаешь 🙂 А 1С тут почти все знают, поэтому писать скрипт на «родном» языке поудобнее будет. Да и от целей все зависит. Если надо 1с-ных пользователей с AD подружить, существующих, прав всем добавитьотредактировать или в группы собрать, то лучше из 1С делать, чтобы на 1сные выборки опираться. А если нового при создании донастроить то лучше всего скрипт на VBS, без промежуточных прослоек типа PowerShell, ИМХО.

    Reply
  5. oberon355

    скажите, а счем может быть связано возникновение вот такой ошибки : {Форма.Форма.Форма(67)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Provider): Произошла одна или несколько ошибок во время обработки команды. ?

    Reply
  6. adapter
      conn = Новый COMОбъект(«ADODB.Connection»);
    conn.Provider = «ADSDSOObject»;
    conn.Open(«ADs Provider»);
    
    rs = conn.Execute(ЗапросLDAP);
    

    видимо с тем что в ЗапросLDAP содержится ошибка в тексте запроса

    Reply
  7. It-developer

    Очень мало плюсов за такую супер обработку! Ссылка на сайт Микрософта вообще бомбища!

    Reply
  8. adapter

    (7) It-developer, рад что вы оценили 🙂

    Я когда начинал проработку по теме мне таких ссылок не хватало. Результат и мой опыт в полной мере реализован в коммерческом продукте Helpdesk Corp, но общая суть та же — библиотека процедур в общем модуле, все строится вокруг того же универсального запроса, и процедуры-обертки, которые позволяют создавать записи в AD, синхронизировать данные, управлять правами. Там же и универсальный механизм регламентных заданий для обслуживания баз 1С и вообще ИТ структуры компании — можно запускать любые скрипты — не только на vbs, но и непосредственно на языке 1С — внешние обработки или произвольный код.

    http://infostart.ru/public/73535/

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *