IADsMembers

The IADsMembers interface is designed for managing a list of ADSI object references. It is implemented to support group membership for individual accounts. It can also be used to manage a collection of ADSI objects belonging to a group.

The IADsMembers interface serves a slightly different purpose than the IADsCollection and IADsContainer interfaces, which also work with a set of data or objects. IADsCollection manages sets of arbitrary data elements that are not object references, whereas IADsContainer manages objects that are part of the directory structure.

Inheritance: IEnumerable

Methods

  • Method

  • Description

  • GetEnumerator()

  • Retrieves an enumerator object for this ADSI collection object.

Properties

  • Property

  • Description

  • Count

  • Gets the number of items in the collection.

  • Filter

  • Gets or sets the filter used to select object classes in the given enumeration.

Details

GetEnumerator()

Retrieves an enumerator object for this ADSI collection object. The enumerator object implements the IEnumerator interface that can be used to enumerate objects in foreach loops.

IEnumerator GetEnumerator()

Examples

The following code sample enumerates members of a group.

PowerShell
[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

# Connect to the Adaxes service.
$ns = New-Object("Softerra.Adaxes.Adsi.AdmNamespace")
$service = $ns.GetServiceDirectly("localhost")

# Bind to the group.
$groupDN = "CN=SalesGroup,CN=Groups,DC=domain,DC=com"
$group = $service.OpenObject("Adaxes://$groupDN", $null, $null, 0)

# Enumerate all members of the group.
foreach($member in $group.Members())
{
    Write-Host "Object Name:" $member.Name ", Object Class:" $member.Class
}
C#
using System;
using Softerra.Adaxes.Adsi;
using Softerra.Adaxes.Interop.Adsi;
using Softerra.Adaxes.Interop.Adsi.PersistentObjects;

class Program
{
    static void Main(string[] args)
    {
        // Connect to the Adaxes service.
        AdmNamespace ns = new AdmNamespace();
        IAdmService service = ns.GetServiceDirectly("localhost");

        // Bind to the group.
        const string groupPath= "Adaxes://CN=SalesGroup,CN=Groups,DC=domain,DC=com";
        IADsGroup group = (IADsGroup)service.OpenObject(groupPath, null, null, 0);

        // Enumerate all members of a group.
        foreach (IADs member in group.Members())
        {
            Console.WriteLine("Object Name: {0}, Object Class: {1}",
                member.Name, member.Class);
        }
    }
}

Count

Gets the number of items in the collection. If the Filter property is set, this property returns the number of items that match the filter.

  • Type:
  • int
  • Access:
  • Read-only

Filter

Gets or sets the filter used to select object classes in the given enumeration. This is an object[], where each element is the name of an object class from the directory schema. If the property is not set, all objects of all classes are retrieved by the enumerator.

  • Type:
  • Object
  • Access:
  • Read/Write

Requirements

Minimum required version: 2009.1

See also