将成员添加到域中的组

组可以包含任意数量的用户、联系人或其他组作为成员。 以下列表列出了控制组成员身份的组对象的属性。

Attribute 说明
member
成员属性包含作为组成员的对象的可分辨名称。
memberOf
memberOf 属性包含包含作为直接成员的组的可分辨名称。 memberOf 属性不包含任何继承的组成员身份数据。 例如,如果 GroupA 是 GroupB 的成员,而 GroupB 是 GroupC 的成员, GroupA 的 memberOf 属性将包含 GroupB,但不包含 GroupC。
Active Directory 服务器维护此属性。 将可分辨名称添加到另一组的成员属性时,该组的可分辨名称将添加到该组的 memberOf 属性。

以下每个方法都可用于向组添加成员。 可以通过使用成员的可分辨名称或绑定到成员对象,然后将成员对象添加到组对象来添加成员。

若要将属于下层域的成员添加到上层域中的组,请使用 SID 字符串的可绑定形式作为可分辨名称。 有关详细信息和演示如何将 objectSid 转换为可绑定字符串的代码示例,请参阅示例代码中的 GetLDAPSidBindStringFromVariantSID 示例函数,以便将 objectSid 转换为可绑定字符串

使用 IADsGroup 将成员添加到组

IADsGroup 接口可用于使用 IADsGroup.Add 方法将成员添加到组。 绑定到组对象并获取 IADsGroup 接口。 然后,可以使用 IADsGroup.Add 方法将成员添加到组。

使用 IDirectoryObject 将成员添加到组

IDirectoryObject 接口可用于使用 IDirectoryObject::SetObjectAttributes 方法将成员添加到组,以修改组的成员属性。 绑定到组对象并获取 IDirectoryObject 接口。 然后使用 IDirectoryObject::SetObjectAttributes 方法修改成员属性。

注意

由于成员属性具有多个值,因此请确保使用ADS_ATTR_APPEND控件代码向成员属性添加可分辨名称 使用 ADS_ATTR_UPDATE 控件代码将导致覆盖现有成员值。

通过指定 IDirectoryObject::CreateDSObject 方法的 pAttributeEntries 参数中的成员,还可以使用 IDirectoryObject 接口将成员添加到组。

使用 System.DirectoryServices 将成员添加到组

可以使用 System.DirectoryServices 命名空间在组对象的成员属性上使用 PropertyValueCollection.Add 方法将成员添加到组。 有关详细信息,请参阅 设置目录对象的属性。

使用 LDAP API 将成员添加到组

可以使用轻型目录访问协议 API 将成员添加到组,方法是使用ldap_modify* 函数之一。 有关详细信息,请参阅 修改目录条目