Поделиться через


Создание и удаление объектов

С помощью ADSI объекты создаются и удаляются с помощью интерфейса IADsContainer или IDirectoryObject.

Создание объекта с помощью IADsContainer

Создание объекта с помощью интерфейса IADsContainer

  1. Привяжитесь к контейнеру, который будет содержать создаваемый объект, и получите интерфейс IADsContainer.
  2. Используйте метод IADsContainer.Create для создания нового объекта в контейнере.
  3. Задайте значения для всех обязательных атрибутов объекта с помощью метода IADs.Put или IADs.PutEx. Атрибуты, необходимые для создания объекта, будут зависеть от службы каталогов и типа создаваемого объекта. Дополнительные сведения о создании объектов Active Directory см. в создании и удалении объектов Active Directory.
  4. Задайте значения для всех требуемых необязательных атрибутов для объекта с помощью метода IADs.Put или IADs.PutEx.
  5. Вызовите метод IADs.SetInfo для фиксации объекта и его атрибутов. Новый объект не создается в базовой службе каталогов, пока метод IADs.SetInfo не будет вызван для фиксации атрибутов.

Создание объекта с помощью IDirectoryObject

Создание объекта с помощью интерфейса IDirectoryObject

  1. Привязывайтесь к контейнеру, который будет содержать созданный объект, и получите интерфейс IDirectoryObject.
  2. Выделите массив ADS_ATTR_INFO структур, содержащих одну структуру для каждого атрибута, который необходимо задать при создании объекта.
  3. Заполните структуру ADS_ATTR_INFO для каждого обязательного атрибута для объекта. Атрибуты, необходимые для создания объекта, будут зависеть от службы каталогов и типа создаваемого объекта. Дополнительные сведения о создании объектов Active Directory см. в создании и удалении объектов Active Directory.
  4. Заполните структуру ADS_ATTR_INFO для каждого необязательного атрибута для объекта.
  5. Используйте метод IDirectoryObject::CreateDSObject для создания объекта в контейнере. Этот метод также фиксирует объект в базовой службе каталогов. Если массив ADS_ATTR_INFO не содержит все необходимые атрибуты для объекта, IDirectoryObject::CreateDSObject завершится ошибкой.

Удаление объекта

Чтобы удалить объект, используйте метод IADsContainer::Delete или метод IDirectoryObject::DeleteDSObject. Эти методы завершаются ошибкой, если удаленный объект содержит все дочерние объекты. Используйте метод IADsDeleteOps::DeleteObject для удаления контейнера и всех дочерних объектов контейнера.

Что происходит с удаленным объектом, зависит от базовой службы каталогов. Дополнительные сведения об удалении объектов Active Directory см. в создании и удалении объектов Active Directory.