Update – HOW TO: Find an email address in Active Directory

by Bharat Suneja

SKIP THIS POST and head over to Five and a half ways to find an email address in Microsoft Exchange and Active Directory, a comprehensive post that shows all the ways you can find an email address in Active Directory.
 
(OK, if you must really know, we merged content from this post with a previous post which shows you how to find a recipient with a specified email address using ADUC‘s Saved Queries feature.)

4 Using CSVDE/LDIFDE to find an email address:Saved Queries isn’t available in the Windows 2000 version of ADUC. You can also use CSVDE or LDIFDE to export this information to a file, using the following command:

csvde -f outputfilename.csv -d “dc=domain,dc=com” -r “(&(mailnickname=*)(proxyAddresses=smtp:[email protected]))” -l name

Replace “dc=domain,dc=com” with your AD domain name and suffix, and [email protected] with the exact email address you’re looking for.

To find all recipients who have an email address from a particular SMTP domain, you can use a wildcard, e.g.:

csvde -f outputfilename.csv -d “dc=domain,dc=com” -r “(&(mailnickname=*)(proxyAddresses=smtp:*@domain.com))” -l name

In the above example, only the name field is exported. All CSVDE/LDIFDE queries also return the object’s distinguishedName. To add more fields to the list, insert a coma after name and type new field names separated by a coma: e.g.

name,displayName,sAMAccountName,proxyAddresses,homeMDB

5 Finding email addresses using the Exchange shell (Exchange 2010/2007): The Exchange 2010/2007 shell makes it easier (once you familiarize yourself with shell basics). To get a list of all recipients with email addresses from a particular domain:

get-recipient | where {$_.emailaddresses -match “domain.com”} | select name,emailaddresses

To get a list of recipients with a particular email address:

get-recipient | where {$_.emailaddresses -match “[email protected]”} | select name,emailaddresses

Changes:

{ 7 comments… read them below or add one }

Anonymous March 9, 2007 at 7:03 am

User AD accounts going to expire in 10 days. Can the AD send an notification email to that particular user everyday at 12mn?

Reply

Michelle Dunn March 14, 2008 at 10:55 pm

I noticed that many shortcuts on discovering someone’e email address are given, but why not go through an easier and specifically dedicated email locating program? I mean there are literally hundreds of them out there, and many times they can save you hours of searching with tricks. I went to
http://howtofindsomeonesemailaddress.wikidot.com/ to find out my info on using email locaters properly, but most of the others out there are also credible and well worth a look. Just my $.02

Reply

zax September 28, 2011 at 8:28 am

Just saved me loads of searching – worked perfect.
many thanks

Reply

Michael January 21, 2013 at 2:58 am

I realize that this is quite an old post but really needed some help on this one.
Is there any way I could use the below command, as mentioned by you, to search for existing accounts using a csv file that I already have which I received from my HR. This csv list has all the ex-employees with their email addresses.

“get-recipient | where {$_.emailaddresses -match “[email protected]”} | select name,emailaddresses”

Basically I would like to compare this HR list to see if those ex-employees still have existing mailboxes in exchange.

Reply

Marco March 15, 2013 at 5:55 am

Perfect

Reply

ideate March 2, 2014 at 2:42 pm

Wow that was odd. I just wrote an extremely long comment but after I
clicked submit my comment didn’t show up. Grrrr…
well I’m not writing all that over again.
Anyhow, just wanted to say excellent blog!

Reply

Melaine December 8, 2014 at 10:07 am

I couldn’t resist commenting. Exceptionally well written!

Reply

Leave a Comment

{ 1 trackback }

Previous post:

Next post: