Добавление пользователя Ad с помощью Lotusscript

Тема в разделе "Lotus - Программирование", создана пользователем tikhiy, 3 авг 2009.

  1. tikhiy

    tikhiy Гость

    Добрый день!

    Я и тут новичок, и в системе Lotus, хотя ряд представлений уже имею. Облазил интернет в поисках решения, так и не нашел пока ничего интересного.

    Итак, у меня стоит такая интересная задача, нужно разработать Lotus-приложение, которое самостоятельно по заполнению формы создает учетную запись в системе Lotus Domino Active Directory, т.е. создает пользователя, ключ, почту и т.п. - и все это происходит в рамках скрипта LotusScript.

    Фактически при поступление в организацию нового сотрудника стоит ряд задач как по обеспечению его физическим рабочим местом, так и виртуальным. Виртуальное рабочее место - в частности Lotus Notes, соответственно, аккаунт в системе Lotus. Обычно создание аккаунта ложится на плечи администратора системы Lotus, однако хотелось бы облегчить задачу, к тому же важна возможность экспортировать данные о новом сотруднике вовне (в форме XML), для чего дполонительно планируется ввести в оборот специальную "общую" базу сотрудников.

    Я вижу это так, что вызвав действие "Добавить нового сотрудника" обычный человек (с доступам к соотв. приложению), скажем, из отдела кадров, может указать там ФИО, телефон, ..., нажать кнопочку "Добавить" и регистрация происходит автоматически - т.е. посредством LotusScript, который:

    1. Заносит документ о сотруднике в централизованную Lotus-базу (это легко и понятно).
    2. Рассылает уведомления на Lotus-почту компетентным лицам, ответственным за процедуру размещения сотрудника (банально, LotusScript).
    3. Экспортирует данные о сотруднике в XML-представление (это тоже понятно, применяем стандартные классы LotusScript по работе с XSLT и прочее).
    4. Создает учетную запись в системе Domino AD, таким образом новый сотрудник получает доступ к документам и базам Lotus, получает почтовый аккаунт в системе почты Lotus, фактически становится полноправным пользователем Lotus организации.

    Вот пункт 4 вызывает вопрос чисто по технической части. Я читал документацию по классу NotesAdministrationProcess, но нашел там только методы модификации данных о пользователе (RenameNotesUser), возможность удалить пользователя (DeleteUser) - что тоже очень хорошо, конечно, и в системе понадобится. Но вот метода создания так и не обнаружил.

    Возможно, я что-то просмотрел, может быть, я вообще не туда смотрю (т.к. плохо знаком с системой в общем).

    Буду благодарен за любые подсказки и указания, даже ваш намек поможет мне разобраться самостоятельно =)
     
  2. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Dim session As New NotesSession
    Dim reg As New NotesRegistration
    Dim ws As New NotesUIWorkspace
    Dim doc As NotesDocument
    Set doc = ws.CurrentDocument.Document
    'If Len(doc.I(0))>1 Then
    ' Messagebox "Поле должно содержать только первую букву отчества на латыни",,"Внимание! Неверно заполнена заявка на Лотус."
    ' Exit Sub
    'End If
    reg.SynchInternetPassword = True
    reg.IDType = ID_HIERARCHICAL
    reg.Expiration = Today + 10000
    reg.MinPasswordLength = 6
    reg.IsNorthAmerican = False
    reg.CertifierIDFile = doc.idfile(0) ' - место хранения id
    reg.RegistrationServer = doc.Mailserver(0) ' - почтовый сервер
    ' reg.MailQuotaSizeLimit=150
    ' reg.MailQuotaWarningThreshold=140
    reg.OrgUnit = ""
    reg.CreateMailDb = True
    reg.StoreIDInAddressbook = True
    reg.UpdateAddressbook = True
    reg. SynchInternetPassword = True
    Redim gr(0) As String
    gr(0)="AllUsers1" ' - добавляем в группу

    reg.GroupList=gr
    Reg.MailTemplateName = "mail7ru.ntf" ' - почтовый шаблон



    Dim mail As String
    mail$= "mail/"+doc.Firstname(0)+doc.LastName(0)+".nsf" ' - путь почтовой бд


    Call reg.RegisterNewUser(doc.LastName(0), "c:\temp\ID\"+doc.LastName(0)+".ID", _
    doc.Mailserver(0), doc.FirstName(0), doc.I(0), "parol_1", "", _
    "",mail$ , "", "parol_2", NOTES_LIMITED_CLIENT, "")

    parol_2 - пароль пользователя, для входа в лотус
    parol_1 - пароль регистрации
     
  3. Klido

    Klido Гость

    создание - класс NotesRegistration ;)

    гораздо меньше (как по мне) напрягов, если создавать в АД юзера, а при этом одновременно в лотусе через AdSync, т.е. всю работу выполняет админ АД, в лотусе минимальные действия по раздаче прав...
    вроде в лотусе сделали заявку, согласованная дошла до админа АД (тут выплюнулась в что-то удобоваримое для него), он проконтролировал данные, создал юзера в АД (импортом) и одновременно в лотусе, в DD агент обнаружил нового и уведомил компетентных лиц, которые дали ему права какие надо....

    или тема проще: Domino AD - это про Domino Directory (DD)??? :)
     
  4. tikhiy

    tikhiy Гость

    Господа, огромное спасибо! ) Проглядел этот класс.

    Klido, да, там есть MS AD, есть AdSync, здесь под Active Directory я по сглюку подразумевал именно Domino Directory ))
    Вообще была мысль делать автомат именно через MS AD, т.е. там составляется VBS-скрипт, где создается MS AD аккаунт, потом AdSync обеспечивает его "доставку" в DD. Но подумалось просто, что если я располагаю центральную базу и приложение для регистрации новых сотрудников именно на Lotus, то логичнее воспользоваться средствами Lotus для создания аккаунта.
     
  5. Klido

    Klido Гость

    логичнее решить кому меньше работы - спецам по лотусу или каким-то другим спецам ;)
    остальное всё верно.. удачи в разработке!
     
Загрузка...

Поделиться этой страницей