创建和删除对象
借助 ADSI,可使用 IADsContainer 或 IDirectoryObject 接口来创建和删除对象。
使用 IADsContainer 来创建对象
若要使用 IADsContainer 接口来创建对象
- 绑定到将包含要创建的对象并获取 IADsContainer 接口的容器。
- 使用 IADsContainer.Create 方法可在容器中创建新对象。
- 使用 IADs.Put 或 IADs.PutEx 方法为对象的所有必需属性设置值。 创建对象所需的属性取决于目录服务和所创建对象的类型。 有关创建 Active Directory 对象的详细信息,请参阅创建和删除 Active Directory 对象。
- 使用 IADs.Put 或 IADs.PutEx 方法为对象的所有所需可选属性设置值。
- 调用 IADs.SetInfo 方法可提交对象及其属性。 在调用 IADs.SetInfo 方法以提交属性之前,新对象其实不会在基础目录服务中进行创建。
使用 IDirectoryObject 来创建对象
若要使用 IDirectoryObject 接口来创建对象
- 绑定到将包含要创建的对象并获取 IDirectoryObject 接口的容器。
- 分配一个由 ADS_ATTR_INFO 结构构成的数组,且该数组包含创建对象时要设置的每个属性的一个结构。
- 为对象的每个必需属性填写 ADS_ATTR_INFO 结构。 创建对象所需的属性取决于目录服务和所创建对象的类型。 有关创建 Active Directory 对象的详细信息,请参阅创建和删除 Active Directory 对象。
- 为对象的每个可选属性填写 ADS_ATTR_INFO 结构。
- 使用 IDirectoryObject::CreateDSObject 方法可在容器中创建对象。 此方法还会将对象提交到基础目录服务。 如果 ADS_ATTR_INFO 数组不含该对象的所有必需属性,IDirectoryObject::CreateDSObject 则会失败。
删除对象
若要删除对象,请使用 IADsContainer::Delete 或 IDirectoryObject::DeleteDSObject 方法。 如果已删除的对象包含任何子对象,这些方法则会失败。 使用 IADsDeleteOps::DeleteObject 方法可删除容器和该容器的所有子对象。
已删除对象会出现何种情况取决于基础目录服务。 有关删除 Active Directory 对象的详细信息,请参阅创建和删除 Active Directory 对象。