Evaluating Group Membership
The IADsGroup::IsMember
method takes one argument, the DN of the object to check, just as Add and Remove do. It returns a Boolean; i.e., true or false. That allows you to use it in an If ... Then statement like this:
Set objGroup = GetObject("LDAP://cn=Managers,ou=Sales," _
& "dc=mycorp,dc=com")
If objGroup.IsMember("LDAP://cn=Vicky Launders,ou=Sales," _
& "dc=mycorp,dc=com") Then
WScript.Echo "Is a Member!"
Else
WScript.Echo "Is NOT a Member!"
End IfTo get a list of members in a group, the IADsGroup::Members method can be used. The IADsGroup::Members function is different from the other IADsGroup methods we have shown so far, since it returns a pointer to an IADsMembers object. Table 23-5 shows the two methods IADsMembers support.
Table 23-5. The IADsMembers interface
|
IADsMembers methods |
Action |
|---|---|
|
Count |
The number of items in the container. If there is a filter set, only the number of items that match the filter are returned. |
|
Filter |
A filter, consisting of an array of object class strings, which can restrict the number of objects returned during enumeration of the container. |
There are a number of ways of enumerating the members of a group. The For Each ... In ... Next loop is the most common. This is how it works:
Set objGroup = GetObject("LDAP://cn=Managers,ou=Sales," _
& "dc=mycorp,dc=com")
WScript.Echo "Number of members of the group: " & objGroup.Members.Count
For Each objMember In objGroup.Members
WScript.Echo objMember.Name
NextThis ...