• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы tikhiy
  • Дата начала
T

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) - что тоже очень хорошо, конечно, и в системе понадобится. Но вот метода создания так и не обнаружил.

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

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

susinmn

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 - пароль регистрации
 
K

Klido

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

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

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

tikhiy

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!