Advanced Search Function: SearchAD
We will now take many of the concepts from this chapter and apply them in a useful example called SearchAD. SearchAD can be included in any VBScript and used immediately as is.
SearchAD takes five parameters and returns a Boolean indicating whether it succeeded or failed in the search. You should recognize most of these parameters:
The base ADsPath to start the search from
A valid ADO criteria string
The depth that you wish to search, represented by one of the exact strings
Base
,OneLevel
, orSubTree
The comma-separated list of attributes that is to be returned
A variable that will hold the returned results of the search in an array
The last parameter does not have any values when passed in, but if SearchAD is successful, the array contains the resultset.
Here is an example use of SearchAD:
bolIsSuccess = SearchAD("LDAP://ou=Finance,dc=mycorp,dc=com", _ "(cn=a*)", "Base", "cn,description", arrSearchResults)
You can also use it as part of an If...Then
condition:
If SearchAD("LDAP://dc=mycorp,dc=com", "(description=moose)", "SubTree", _ "ADsPath,cn,description", arrSearchResults) Then 'success code using arrSearchResults Else 'failure code End If
The array that is returned is a two-dimensional array of attributes that match the criteria. If there were 12 results returned for the preceding query, this is how you access the results:
arrSearchResults(0,0) 'ADsPath of first result arrSearchResults(0,1) 'CN of first result arrSearchResults(0,2) 'Description ...
Get Active Directory, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.