枚举组中的成员

本主题中包含用于枚举组中的成员的代码示例。如果该组具有很多成员,则可以通过调用 IADsGroup::Members 方法获取结果集。有关 ADSI IADsGroup::Members 方法的更多信息,请参见位于 https://go.microsoft.com/fwlink/?LinkID=27252 上的 MSDN Library 中的“IADsGroup::Members”(可能为英文网页)。

如果您预期该组在将来可能有超过 1000 个成员,则必须使用范围检索(在枚举大组中的成员介绍了范围检索)来枚举所有组成员。

下面的代码示例说明了如何使用 SearchResult 属性 Properties 获取成员。

DirectoryEntry group = new DirectoryEntry("LDAP://CN=Sales,DC=Fabrikam,DC=COM");
foreach(object dn in group.Properties["member"] )
{
    Console.WriteLine(dn);
}

下面的代码示例说明了如何使用 Invoke 方法调用 ADSI IADsGroup::Members 方法,来获取成员。

DirectoryEntry group = new DirectoryEntry("LDAP://CN=Sales,DC=Fabrikam,DC=COM");
object members = group.Invoke("Members", null);
foreach(object member in (IEnumerable)members)
{
    DirectoryEntry x = new DirectoryEntry(member);
    Console.WriteLine(x.Name);
}

使用以前的代码可以检索 DirectoryEntry 对象的任何标准属性。要检索特定于具体 Active Directory 域服务架构类(例如 User)的属性,请使用 DirectoryEntry 对象的 Properties 集合。MSDN 技术文章“在 Active Directory 层次结构中修改对象属性”提供了一个示例,说明如何访问和修改 Properties 集合的成员。

若要了解可用于特定 Active Directory 域服务架构类的属性,请参见位于 https://go.microsoft.com/fwlink/?LinkID=27252 上的 MSDN Library 中的“Active Directory 架构参考”(可能为英文网页)。

另请参见

参考

DirectoryEntry
SearchResult
System.DirectoryServices

概念

组管理

Send comments about this topic to Microsoft.

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。