GroupPrincipal.GetMembers 方法

定义

返回组中包含的主体对象的集合。

重载

GetMembers()

返回组中包含的主体对象的集合。

GetMembers(Boolean)

返回组中包含的主体对象的集合。 当递归标志设置为 true 时,此方法将以递归方式搜索当前组并返回所有嵌套的组成员。

GetMembers()

Source:
Group.cs
Source:
Group.cs
Source:
Group.cs

返回组中包含的主体对象的集合。

public:
 System::DirectoryServices::AccountManagement::PrincipalSearchResult<System::DirectoryServices::AccountManagement::Principal ^> ^ GetMembers();
public System.DirectoryServices.AccountManagement.PrincipalSearchResult<System.DirectoryServices.AccountManagement.Principal> GetMembers ();
member this.GetMembers : unit -> System.DirectoryServices.AccountManagement.PrincipalSearchResult<System.DirectoryServices.AccountManagement.Principal>
Public Function GetMembers () As PrincipalSearchResult(Of Principal)

返回

一个 PrincipalSearchResult<T> 对象,其中包含作为组成员的主体对象,如果组没有成员,则为一个空集合。

注解

此方法不以递归方式搜索当前组。 因此,可能会在主体对象集合中返回组对象。

返回成员时不考虑上下文。 例如,如果基于“CN=SpecialUsers,DC=Fabrikam,DC=com”的 AD DS 上下文,则 PrincipalFindResult 集将包含位于“CN=NormalUsers,DC=Fabrikam,DC=com”下的组成员,即使它们属于不属于所搜索上下文的范围。 返回的主体集合还可能包含与组位于不同的存储区的成员。

适用于

GetMembers(Boolean)

Source:
Group.cs
Source:
Group.cs
Source:
Group.cs

返回组中包含的主体对象的集合。 当递归标志设置为 true 时,此方法将以递归方式搜索当前组并返回所有嵌套的组成员。

public:
 System::DirectoryServices::AccountManagement::PrincipalSearchResult<System::DirectoryServices::AccountManagement::Principal ^> ^ GetMembers(bool recursive);
public System.DirectoryServices.AccountManagement.PrincipalSearchResult<System.DirectoryServices.AccountManagement.Principal> GetMembers (bool recursive);
member this.GetMembers : bool -> System.DirectoryServices.AccountManagement.PrincipalSearchResult<System.DirectoryServices.AccountManagement.Principal>
Public Function GetMembers (recursive As Boolean) As PrincipalSearchResult(Of Principal)

参数

recursive
Boolean

一个布尔值,该值指定是否以递归方式搜索组。

返回

一个 PrincipalSearchResult<T> 对象,其中包含作为组成员的主体对象,如果组没有成员,则为一个空集合。

示例

以下代码连接到 LDAP 域“fabrikam.com”,并在构造函数中 PrincipalContext 将用户名设置为“administrator”,密码设置为“SecretPwd123”。

执行搜索以在构造函数“DC=fabrikam,DC=com”中指定的 PrincipalContext 容器下查找名称为“Domain Admins”的组。如果找到该组,则枚举属于此组成员的所有主体(包括递归成员)

PrincipalContext ctx = new PrincipalContext(ContextType.Domain,                                                                      
                                            "fabrikam.com",   
                                            "DC=fabrikam,DC=com",   
                                            "administrator",   
                                            "SecretPwd123");  

GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx,   
                                                   IdentityType.Name,   
                                                   "Domain Admins");  

if (grp != null)  
{  
    foreach (Principal p in grp.GetMembers(true))  
    {  
         Console.WriteLine(p.Name);  
    }  
    grp.Dispose();  
}  

ctx.Dispose();   

注解

当递归标志设置为 true时,返回的主体集合不包含组对象;仅返回叶节点。 例如,当包含计算机对象的组和组对象 (仅具有用户主体) 以递归方式搜索时,返回的集合将包含计算机对象和嵌套组中的用户主体对象。 由于组对象不是叶,即使它是空的,也不会在递归搜索中返回它。 当递归标志设置为 false时,返回的集合可能包含组对象。

返回成员时不考虑上下文。 例如,如果基于“CN=SpecialUsers,DC=Fabrikam,DC=com”的 AD DS 上下文,则 PrincipalFindResult 集将包含位于“CN=NormalUsers,DC=Fabrikam,DC=com”下的组成员,即使它们属于不属于所搜索上下文的范围。 返回的主体集合还可能包含与组位于不同的存储区的成员。

适用于