Solved

How to list all AD Users with emailaddress over all domains

Posted on 2009-07-10
3
222 Views
Last Modified: 2012-05-07
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.
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

Open in new window

0
Comment
Question by:D-CPA
  • 2
3 Comments
 
LVL 65

Accepted Solution

by:
RobSampson earned 125 total points
ID: 24821654
Hi, welcome to EE!

First off, I'm not sure what you mean when you ask "what informations are missing in the GC?"

Perhaps you could use part of the EnumDomains Sub from here:
http://www.rlmueller.net/Programs/DocumentForest.txt

to list all of your child domains, then you could just do a normal LDAP search on each of those....

If you need help with that, I can give it a shot tomorrow.

Regards,

Rob.
0
 

Author Closing Comment

by:D-CPA
ID: 31601979
Thanks a lot, looks good. I will try now to combine my script with this solution.
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 24822549
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.
0

Join & Write a Comment

Installing a printer using group policy preferences is not that hard let’s take a look at it. First lets open up your group policy console and edit the policy you want to add it to. I recommend creating a new policy for each printer makes it a l…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now