Пришло время обновить библиотеку для работы с Active Directory! :)
Без лишней скромности публикую форму от Яндекса, которой вы можете воспользоваться, если вам понравился продукт и вы желаете выразить благодарность автору.
Название: LS_ActiveDirectory_Lib
Версия: 0.2.0
Текущая актуальная версия: 0.2.0
Платформа: IBM Lotus Notes (Client, Server)
Платформа: IBM Lotus Notes (Client, Server)
Язык: LotusScript (Backend, UI)
Краткое описание: Библиотека для платформы IBM Lotus Notes содержит класс, предоставляющий интерфейс работы с объектами в Microsoft Active Directory (AD, АД), и служебные функции. Библиотека работает с версиями AD 2003 R2 и 2008 R2. Работа с другими версиями AD возможна, однако полная совместимость не гарантирована.
Условия использования: Свободное использование и изменение под свои нужды. При копировании и передаче третьим лицам ссылка на источник обязательна.
Установка:
- Создать загрузчик обновлений (кнопка, агент), если его у вас еще нет. Код см. ниже в разделе «Загрузчик обновлений»
- Если у вас еще нет библиотеки LS_ActiveDirectory_Consts – установить ее через загрузчик обновлений. Если библиотека уже стоит, сверится со список обновлений констант в этой библиотеке (список см. ниже)
- Установить или обновить библиотеку через загрузчик обновлений.
- Название библиотеки стало короче для удобства
- Удалено св-во CAD.DomainName (SET)
- Переименованна переменная класса DomainControllerName -> pr_domainControllerName
- Добавлено св-во CAD.DomainControllerName (GET) As String
- Добавлены константы для интеграции с другмими системами и БД. Можно и нужно изменять константы под свои системы. Можно добавлять константы, расширяя функционал
- Добавлена функция CAD.CreateADObject(). Создает объект заданного типа в АД и возвращает его
- Пользовательские константы, рассчитанные на изменение их разрабочиком под свои нужны вынесены в библиотеку LS_ActiveDirectory_Consts
Загрузчик обновлений:
On Error Goto
ErrorHandler
Const FuncName = "LS_Updater
()"
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim stream As NotesStream
Dim filename
Dim dbPath
Dim db As NotesDatabase
filename = ws.Openfiledialog(False,
"Выберите файл", "Domino
XML|*.dxl|XML|*xml|Все файлы|*.*", _
Cstr(Environ("homepath")),
)
If Isempty(filename) Then Goto
endh
dbPath = ws.Prompt(13, "Выберите БД", "Базы данных", , )
If Isempty(dbPath) Then Goto
endh
If dbPath(0) = "" Then
dbPath(0) = "Local"
Set db = New NotesDatabase
("", "")
Call db.Open(dbPath(0),
dbPath(1))
If Not db.Isopen() Then
Error 5001, {Не удалось открыть БД: } & Implode(dbPath, ";
")
End If
Set stream =
session.CreateStream
If Not stream.Open(filename(0))
Then
Error
5001, "Не удалось открыть файл " & filename(0)
End If
If stream.Bytes = 0 Then
Error
5001, "Файл не существует или пустой: " & filename(0)
End If
Dim importer As NotesDXLImporter
Set importer =
session.CreateDXLImporter(stream, db)
importer.Replicarequiredforreplaceorupdate
= False
importer.Designimportoption =
DXLIMPORTOPTION_REPLACE_ELSE_CREATE
Call importer.Process
Msgbox {Импорт } & Strrightback(filename(0),
"\") & { произведен успешно.}, , "Импорт"
Goto endh
ErrorHandler:
Msgbox "DXL Log: "
& Chr(10) & Chr(10) & importer.Log, , "DXL Importer
Error"
Error Err, DESIGN & "
" & FuncName & " стр. " & Erl & Chr(10) & Error$
endh:Без лишней скромности публикую форму от Яндекса, которой вы можете воспользоваться, если вам понравился продукт и вы желаете выразить благодарность автору.
Комментарии
Отправить комментарий