When assigning a new email address to an Active Directory object, you may receive an error that the email address already exists. There are several ways to find a duplicate email address in Active Directory:
- Active Directory Users and Computers console
- PowerShell cmdlet from the RSAT_AD module
- PowerShell cmdlets from the Exchange Management Shell module (if the on-premise Exchange Server is deployed in the AD forest or Exchange Online is used)
Where are email addresses stored?
Email addresses are typically stored in the following Active Directory object attributes: mail and proxyAddresses. The value of the user’s proxyAddresses attribute can be viewed in the object’s properties in the Active Directory Users and Computers console (dsa.msc).
Note that unlike mail, proxyAddresses attribute can take multiple values. When searching for email addresses in the proxyAddresses attribute, remember to check both SMTP: (primary address) and smtp: (aliases).
Note. Unlike mail, the proxyAddresses attribute can contain multiple values. The SMTP: prefix in uppercase identifies the primary email address, while smtp: values are aliases. However, AD performs case-insensitive matching when searching this attribute, so the letter case is not important in LDAP filters.

Checking for Duplicate Email Addresses in AD
If you receive an error that an email address already exists, first you need to check if the address is assigned to multiple AD objects. Use the following command:
Get-ADObject -LDAPFilter "(|(mail=admin@theitbros.com)(proxyAddresses=SMTP:admin@theitbros.com)(proxyAddresses=smtp:admin@theitbros.com))"
If the query returns more than one object, the same email address is assigned to multiple AD objects.
Find out which AD object is associated with an email address
To find out which AD account is associated with a particular email address:
- Open the ADUC snap-in.
- Right-click on the domain root and select Find.
- Select Custom Search in the Find drop-down list.
- Navigate to the Advanced tab and paste the following query into the Enter LDAP Query text box:
(proxyAddresses=SMTP:admin@theitbros.com)
- Click Find Now.
- This will return recipients of all types (including users, mail-enabled contacts, public folders, distribution/security/mail-enabled AD groups) who have that email address assigned.

Use PowerShell to find an AD object by email address
To find an AD object by email address, you can use PowerShell (requires the AD PowerShell module to be installed):
Get-ADObject -LDAPFilter "(|(mail=admin@theitbros.com)(proxyAddresses=smtp:admin@theitbros.com)(proxyAddresses=SMTP:admin@theitbros.com))" -Properties mail, proxyAddresses

Use LDAP filters to query objects with specific email address
Also, you can use LDAP filters to query objects with specific email address in AD:
Get-ADObject -LDAPFilter "(|(mail=admin@theitbros.com)(proxyAddresses=SMTP:admin@theitbros.com)(proxyAddresses=smtp:admin@theitbros.com))"

The following LDAP query lists only user accounts that have an email address assigned:
Get-ADObject -LDAPFilter "(&(sAMAccountType=805306368)(|(proxyAddresses=*)(mail=*)))"
If the Exchange Server is installed in the AD domain, you can use the Exchange Management Shell cmdlet to quickly find recipients with a specific e-mail address:
Get-Recipient -Filter "EmailAddresses -eq 'admin@theitbros.com'"
Where are email addresses stored in Active Directory?
Email addresses in Active Directory are usually stored in the following attributes:
- mail โ stores a single email address for an object.
- proxyAddresses โ stores multiple email addresses, including the primary SMTP address and aliases.
The proxyAddresses attribute uses the following format:
- SMTP:user@domain.com โ primary email address.
- smtp:alias@domain.com โ email alias.
Although uppercase SMTP: identifies the primary address, Active Directory searches are case-insensitive when using LDAP filters.
How can I find which Active Directory object uses a specific email address?
You can search using the Active Directory Users and Computers console:
- Open Active Directory Users and Computers (dsa.msc).
- Right-click the domain root and select Find.
- Select Custom Search from the Find drop-down list.
- Open the Advanced tab.
- Enter the LDAP query:
(proxyAddresses=SMTP:admin@theitbros.com)
- Click Find Now.
The search returns objects that have this email address assigned, including users, contacts, groups, and other mail-enabled objects.
Can proxyAddresses contain multiple email addresses?
Yes. Unlike the mail attribute, proxyAddresses can contain multiple values.ย For example:
SMTP:user@domain.com
smtp:user.alias@domain.com
smtp:old.address@domain.com
The uppercase SMTP value represents the primary email address, while lowercase smtp values represent aliases.
