D-CPA
asked on
How to list all AD Users with emailaddress over all domains
Hello,
my problem is, that I have to create a list with all Active Directory users over all domains with a specific email domain e.g. "@xy.de". When I ask the Global Catalog I it works good, but what informations are missing in the GC? When I perform a normal LDAP search, I get only the entries in the local AD domain partition.
So I think the best way would be a LDAP search including all child domains.
This is my first question here, so please advise me of my faults.
my problem is, that I have to create a list with all Active Directory users over all domains with a specific email domain e.g. "@xy.de". When I ask the Global Catalog I it works good, but what informations are missing in the GC? When I perform a normal LDAP search, I get only the entries in the local AD domain partition.
So I think the best way would be a LDAP search including all child domains.
This is my first question here, so please advise me of my faults.
wscript.echo "Looking for GC"
dim oCont, oGC
Set oCont = GetObject("GC:")
For Each oGC In oCont
strGCPath = oGC.ADsPath
Next
wscript.echo "strGCPath=" & strGCPath, 3
wscript.echo "Querying AD for Objects" & strGCPath
Set oConnection = CreateObject("ADODB.Connection")
Set oRecordset = CreateObject("ADODB.Recordset")
Set oCommand = CreateObject("ADODB.Command")
oConnection.Provider = "ADsDSOObject" 'The ADSI OLE-DB provider
oConnection.Open "ADs Provider"
oCommand.ActiveConnection = oConnection
oCommand.Properties("Page Size") = 100
oCommand.CommandText = "<" & strGCPath & ">;" & _
"(mail=*@xy.de);" & _
"distinguishedName,ObjectClass,displayName,mail" & _
";subtree"
Set oRecordset = oCommand.Execute
wscript.echo "Done Total Records found:" & oRecordset.recordcount
do until oRecordset.EOF
wscript.echo "---- Infos aus dem ADO-Recordset ----"
wscript.echo "Klasse:" & lcase(join(oRecordset.Fields("ObjectClass"),","))
wscript.echo
wscript.echo "distinguishedName:" & oRecordset.Fields("distinguishedName")
wscript.echo "displayName :" & oRecordset.Fields("displayName")
wscript.echo "Mail :" & oRecordset.Fields("mail")
wscript.echo "---- Infos aus dem gebundenen Object ----"
set oObject = GetObject("LDAP:// " & oRecordset.Fields("distinguishedName"))
wscript.echo "name :" & oObject.name
wscript.echo "SamAccountName:" & oObject.samAccountName
oRecordset.MoveNext
loop
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
No problem. FYI, you don't need to close a question straight away if you're still working on it. Most of us experts are glad to assist you further in completing your task.
Regards,
Rob.
Regards,
Rob.
ASKER