К основному контенту

LS_ActiveDirectory_Lib. Документация и примеры использования. Часть 2. ADObject

Продолжении документации по открытой библиотеке LS_ActiveDirectory_Lib. Первая часть доступна здесь.
Часть 3



ADObject (класс)

Класс представляет собой абстрактное описание объектов в AD. Сам по себе (так же как и его потомки в прямом инстанцировании не нуждается. Стандартный метод получения экземпляра конкретного класса через метод FindObj класса ADConnector.
Конструктор класса принимает в качестве параметров:
ad: ADConnector - экземпляр класса ADConnector. Если в качестве значения передано Nothing будет выброшена ошибка AD_ERR_PARAMNOTHING (3501)
adObj: Variant - OLE-объект MS AD. Если в качестве значения передан не объект, будет выброшена ошибка AD_ERR_PARAMNOTOBJECT (3502), если передано Nothing, то AD_ERR_PARAMNOTHING (3501)

Свойства (публичные поля):

ADsPath: Строка GET

Путь к объекту. Возвращает значение соотв. атрибута AD-объекта

Class: Строка GET

Класс объекта. Возвращает значение соотв. атрибута AD-объекта

DistinguishedName: Строка GET

Возвращает значение соотв. атрибута AD-объекта

GUID: Строка GET

Глобальный ID объекта в AD. Возвращает значение соотв. атрибута AD-объекта

Parent: Строка GET

ADsPath родительского объекта.

Schema: Строка GET

Возвращает значение соотв. атрибута AD-объекта

Методы:

Get: Variant

Получение значения атрибута из AD-объекта, который уже находится в кэше. Возвращает массив Variant
Параметр:
propertyName: Строка - название атрибута

Примеры использования:
Dim ad As New ADConnector("MyOrg.org", "", "")
Dim adUser As ADUser

Set adUser = ad.FindObj(Nothing, AD_OBJECT_USER, "Ivanov-II", AD_ATTRIBUTE_SAMACCOUNTNAME)
MsgBox ad.Get("Department")

GetInfo

Загрузка значений атрибутов с диска в объект.
Параметр:
propertyName: Variant - название атрибута для загрузки. Может принимать значения:
"" (пусто) - для загрузки всех атрибутов
Строка - для загрузки значения указанного атрибута
Массив (Variant) Строк для загузки значений указанныъ атрибутов

GetObject: Variant

Возвращает непосредственно OLE АД-объект

GetParent: ADOU

Получение родительского контейнера

Примеры использования:
Dim ad As New ADConnector("MyOrg.org", "", "")
Dim adUser As ADUser
Dim adContainer As ADOU

Set adUser = ad.FindObj(Nothing, AD_OBJECT_USER, "Ivanov-II", AD_ATTRIBUTE_SAMACCOUNTNAME)
Set adContainer = adUser.GetParent()
MsgBox adContainer.ToString()

ModifyAttribute

Модификация атрибута объекта. Для сохранения изменений на диске необходимо вызвать метод Save()
Параметры:
modifyType: Число - вид модификации. Может принимать одно из следующих значений:
ADS_PROPERTY_CLEAR (1) - очистить
ADS_PROPERTY_UPDATE (2) - обновить
ADS_PROPERTY_APPEND (3) - добавить
ADS_PROPERTY_DELETE (4) - удалить
propertyName: Строка - название атрибута
value: Variant - значение

Примеры использования:
Dim ad As New ADConnector("MyOrg.org", "", "")
Dim adUser As ADUser

Set adUser = ad.FindObj(Nothing, AD_OBJECT_USER, "Ivanov-II", AD_ATTRIBUTE_SAMACCOUNTNAME)
Call adUser.ModifyAttribute(ADS_PROPERTY_CLEAR, "Department", "")
Call adUser.ModifyAttribute(ADS_PROPERTY_UPDATE, "Company", "Live Script")
Call adUser.Save()

Put

Установка значения атрибута объекта. Для сохранения изменений на диске необходимо вызвать метод Save()
Параметры:
propertyName: Строка - название атрибута
value: Variant - значение

Примеры использования:
Dim ad As New ADConnector("MyOrg.org", "", "")
Dim adUser As ADUser

Set adUser = ad.FindObj(Nothing, AD_OBJECT_USER, "Ivanov-II", AD_ATTRIBUTE_SAMACCOUNTNAME)
Call adUser.Put("Company", "Live Script")
Call adUser.Save()

Rename: boolean

Переименование объекта.
Параметр:
newName: Строка - новое имя объекта

Save: boolean

Сохранение объекта на диск. При успешном сохранении вернет true.

ToString: Строка

Возвращает значение свойства ADsPath

Комментарии