Solved

Need script to generate list of all email accounts in Active Directory 2003

Posted on 2007-12-04
5
2,161 Views
Last Modified: 2010-12-21
I need a script that will give me a .csv file of all email accounts in active directory (2003) .I don't need any info associated with the account,etc. Just need a list of all active email addresses.
0
Comment
Question by:FIFBA
5 Comments
 
LVL 70

Expert Comment

by:KCTS
ID: 20407491
0
 

Author Comment

by:FIFBA
ID: 20407834
Is there a way to get the email address only into a csv file?
0
 
LVL 12

Accepted Solution

by:
chandru_sol earned 500 total points
ID: 20408413
Try this script.........

Save the script as listemail.vbs

From the command prompt where the script resides run
cscript listemail.vbs > listemailaddress.csv

regards
Chandru
Option Explicit
 
Dim objRootDSE, strDNSDomain, objCommand, objConnection
Dim strBase, strFilter, strAttributes, strQuery, objRecordSet
Dim strNTName, strDN, colmail, strmail, stremail, strOU
 
' Determine DNS domain name.
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
 
' Use ADO to search Active Directory.
Set objCommand = CreateObject("ADODB.Command")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
objCommand.ActiveConnection = objConnection
 
' Search entire domain.
strBase = "<LDAP://" & strDNSDomain & ">"
 
' Filter on contacts
strFilter = "(&(&(& (mailnickname=*)(| (&(objectCategory=person)(objectClass=user))))))"
 
' Comma delimited list of attribute values to retrieve.
strAttributes = "cn,distinguishedName,adspath,proxyaddresses"
 
' Construct the ADO query, using LDAP syntax.
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
 
' Run the query.
objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 100
objCommand.Properties("Timeout") = 30
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
 
' Enumerate the recordset and output the values retrieved in
' comma delimited format.
Do Until objRecordSet.EOF
strNTName = objRecordSet.Fields("cn").Value
strDN = objRecordSet.Fields("distinguishedName").Value
colmail = objRecordSet.Fields("proxyAddresses")
 
If IsEmpty(colMail) Then
' The attribute is empty (has no values).
wscript.echo "No Email address"
Else
' The attribute has one or more values - enumerate.
For Each strMail In colMail
If Instr(strMail, "SMTP:") then
strEmail = Right(strMail, Len(strMail)-5)
End If
Next 
End If
Wscript.Echo strNTName & "," & strEmail
objRecordSet.MoveNext
Loop
objRecordSet.Close
 
' Clean up.
objConnection.Close
Set objRootDSE = Nothing
Set objCommand = Nothing
Set objConnection = Nothing
Set objRecordSet = Nothing
'===============

Open in new window

0
 
LVL 12

Expert Comment

by:chandru_sol
ID: 20412447
Thanks FIFBA!
0
 

Expert Comment

by:dapopa9
ID: 21799364
thanks!
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Recently, I had the need to build a standalone system to run a point-of-sale system. I’m running this on a low-voltage Atom processor, so I wanted a light-weight operating system, but still needed Windows. I chose to use Microsoft Windows Server 200…
Scenerio: You have a server running Server 2003 and have applied a retail pack of Terminal Server Licenses.  You want to change servers or your server has crashed and you need to reapply the Terminal Server Licenses. When you enter the 16-digit lic…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

803 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