1

我如何取一个校长,看看它是否是一个团体?或者它有成员?

using(var ctx = new PrincipalContext(ContextType.Domain, "some.domain.com", "DC=some,DC=domain,DC=com"))
{
    var group = GroupPrincipal.FindByIdentity(ctx, IdentityType.DistinguishedName, "some long distinguishedname");
    if(group != null)
    {
        var subgroups = group.GetMembers().Where(m => m.[IS A GROUP])
        foreach (var principal in group.GetMembers())
        {
            Console.WriteLine(principal.DistinguishedName);
        }
    }

}
4

1 回答 1

2

Principal您可以使用关键字“转换” as- 如果有效,如果该对象确实是 a GroupPrincipal,您将获得有效值,否则null

var group = GroupPrincipal.FindByIdentity(ctx, 
                                          IdentityType.DistinguishedName, 
                                          "some long dn") as GroupPrincipal;
                                                          ****************** 

if (group != null)
{
    // now you *know* that it *IS* in fact a "GroupPrincipal"
    .....
}
于 2016-06-03T20:42:00.307 回答