创建和删除对象

借助 ADSI,可使用 IADsContainerIDirectoryObject 接口来创建和删除对象。

使用 IADsContainer 来创建对象

若要使用 IADsContainer 接口来创建对象

  1. 绑定到将包含要创建的对象并获取 IADsContainer 接口的容器。
  2. 使用 IADsContainer.Create 方法可在容器中创建新对象。
  3. 使用 IADs.PutIADs.PutEx 方法为对象的所有必需属性设置值。 创建对象所需的属性取决于目录服务和所创建对象的类型。 有关创建 Active Directory 对象的详细信息,请参阅创建和删除 Active Directory 对象
  4. 使用 IADs.PutIADs.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::DeleteIDirectoryObject::DeleteDSObject 方法。 如果已删除的对象包含任何子对象,这些方法则会失败。 使用 IADsDeleteOps::DeleteObject 方法可删除容器和该容器的所有子对象。

已删除对象会出现何种情况取决于基础目录服务。 有关删除 Active Directory 对象的详细信息,请参阅创建和删除 Active Directory 对象