Sample VBscript to query Active Directory for certain object properties.
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("SearchScope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Sort On") = "sn"
'.::LDAP Query Syntax::.
strBase = "<LDAP://dc=contoso,dc=com>" ' Update with your domain
strFilter = "(&(objectCategory=person)(objectClass=user))"
strReturnAttribs = "sn,givenName,mail,sAMAccountName"
strQuery = strBase & ";" & strFilter & ";" & strReturnAttribs & ";subtree"
objCommand.CommandText = strQuery
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
' Loop through the record set results (each row could be written to a file or echo'd as below or ...)
Wscript.Echo objRecordSet.Fields("sn").Value & _
"," & objRecordSet.Fields("givenName").Value & _
"," & objRecordSet.Fields("mail").Value & _
"," & objRecordSet.Fields("sAMAccountName").Value & _
objRecordSet.MoveNext
Loop
To use SQL query syntax to return properties for a user, the query might look like:
'.::SQL Syntax Query::.
sUser = "bob"
objCommand.CommandText = _
"SELECT givenName, sn, mail FROM 'LDAP://dc=contoso,dc=com' WHERE objectCategory='user' AND sAMAccountName='" & sUser & "'"
Popularity: 13% [?]
