将成员添加到域中的组
组可以包含任意数量的用户、联系人或其他组作为成员。 以下列表列出了控制组成员身份的组对象的属性。
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* 函数之一。 有关详细信息,请参阅 修改目录条目。