示例#1
0
        internal ADPrincipal[] GetGroupMembers(string partitionDN, string groupDN, bool recursive)
        {
            this.Init();
            GetADGroupMemberRequest getADGroupMemberRequest = new GetADGroupMemberRequest();

            getADGroupMemberRequest.GroupDN     = groupDN;
            getADGroupMemberRequest.PartitionDN = partitionDN;
            getADGroupMemberRequest.Recursive   = recursive;
            GetADGroupMemberResponse aDGroupMember = this._acctMgmt.GetADGroupMember(this._sessionHandle, getADGroupMemberRequest);
            List <ADPrincipal>       aDPrincipals  = new List <ADPrincipal>();

            if (aDGroupMember.Members == null)
            {
                return(new ADPrincipal[0]);
            }
            else
            {
                ActiveDirectoryPrincipal[] members = aDGroupMember.Members;
                for (int i = 0; i < (int)members.Length; i++)
                {
                    ActiveDirectoryPrincipal activeDirectoryPrincipal = members[i];
                    ADPrincipal aDPrincipal = new ADPrincipal();
                    this.PopulateADPrincipalFromWebServiceData(activeDirectoryPrincipal, aDPrincipal);
                    aDPrincipals.Add(aDPrincipal);
                }
                return(aDPrincipals.ToArray());
            }
        }
        GetADGroupMemberResponse Microsoft.ActiveDirectory.Management.IADAccountManagement.GetADGroupMember(ADSessionHandle handle, GetADGroupMemberRequest request)
        {
            GetADGroupMemberResponse     aDGroupMember  = null;
            ADDirectoryServiceConnection internalHandle = this.GetInternalHandle(handle);

            if (internalHandle != null)
            {
                aDGroupMember = internalHandle.GetADGroupMember(request);
            }
            return(aDGroupMember);
        }