Listing Active Directory Users

Various VB Scripts
Post Reply
thockman
Site Admin
Posts: 104
Joined: Thu Dec 15, 2005 5:51 pm
Location: Kansas City
Contact:

Listing Active Directory Users

Post by thockman » Thu Sep 20, 2007 5:29 am

Code: Select all

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><body>

<%
Const ADS_SCOPE_SUBTREE = 2
Const ADS_UF_ACCOUNTDISABLE  = 2 ' used to determine if the account is disabled
intTotal = 0
myDomain = "domain"
usracct  = ""
userID   = myDomain & "\" & usracct
sPwd     = ""

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
'objConnection.Open "Data Source=Active Directory Provider;Provider=ADsDSOObject;User ID=" &userID & ";Password=" & sPwd
objConnection.Open "Data Source=Active Directory Provider;Provider=ADsDSOObject"

Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 2000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
objCommand.CommandText = _
    "SELECT userAccountControl,sAMAccountName,displayName,givenname,sn,telephoneNumber " & _
    "FROM 'LDAP://dc.domain.com/dc=domain,dc=com' WHERE objectCategory='user' order by displayname"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
intUAC=objRecordset.Fields("userAccountControl")

If (intUAC AND ADS_UF_ACCOUNTDISABLE) = 0  Then ' if the account is not disabled, print its information
  strdsname = objRecordSet.Fields("displayName").Value
  strfname = objRecordSet.Fields("givenname").Value
  strlname = objRecordSet.Fields("sn").Value
  strfullname = strfname & " " & strlname
  strteleNumber = objRecordSet.Fields("telephoneNumber").Value
  'loop through the description lines sinces it's an array
  'For Each varRecord in objRecordset.Fields("description").Value
  '  "Description: " &  varRecord & " "
  'Next
  intTotal = intTotal + 1
  trhtml = trhtml & "<tr><td>" & _
    "<a href='vcard.asp?ds=" & strdsname & "'>"& strdsname & "</td><td>" & strfname & " " & strlname & _
    "</td><td>" & strtelenumber & "</td></tr>"
End If 
    objRecordSet.MoveNext
Loop
html = "<table border='1'><th colspan=3><b>Total Number of Users:</b> " & intTotal & "</th>" & _
  "<tr bgcolor='lightblue'><td>Display Name</td><td>First / Last Name</td><td>Office</td></tr>"
endhtml = "</table></body></html>"
html = html & trhtml & endhtml
response.write html

objConnection.Close
Set objRootDSE = Nothing
Set objConnection = Nothing
Set objCommand = Nothing
Set objRecordSet = Nothing
%>

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest