Enumerating Objects
To view the child object of a container, such as an organizational unit (OU), enumerate the container object. To make an analogy to a file system, the child object would correspond to files in the directory, while the container, which is the parent object, would correspond to the directory itself. You may also use the enumerate operation when you want to get the parent object of an object.
When you enumerate an object, you actually bind to an object in the directory, and an IADs interface is returned on each object.
The following code example shows how to enumerate the children of a container.
Dim ou As IADs
' Bind to an object using its DN.
On Error GoTo Cleanup
Set ou = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=COM")
For each child in ou
Debug.Print child.Name
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set ou = Nothing
You can filter the types of objects returned from the enumeration. For example, to display only users and groups, use the following code example before the enumeration.
Ou.Filter = Array("user", "group")
If you have an object reference, you can get the object's parent using the IADs Parent property. The following code example shows how to bind to the parent object.
parentPath = obj.Parent
Set parent = GetObject(parentPath)
For more information, see Enumerating ADSI Objects.
Related topics