11

I'm looking for an Exchange 2010 command that would do the following:

  1. Given an email address (fully-qualified with domain and all) check if the email address is associated to some mailbox or group in the system;
  2. (Ideally) show which entity owns that email address

This would be very helpful for me to check my migration and make sure all of our aliases were moved correctly.

15

Get-Recipient -Identity user@domain.com

This will return the recipient object for whoever has the given email address (including aliases). Since emails are guaranteed to be unique this should never return more than one record (I believe).

Get-Recipient -ANR user

You can use -ANR to search using Ambiguous Name Resolution (so you can type their first, last, username, etc), but while ANR will match a user's primary email address, it will not match their other SMTP aliases. ANR can return multiple matches (so ensure your code handles this case).

Get-Mailbox is not sufficient to confirm that an email address is unique, as it will not necessarily return contacts, or records from external or legacy systems. It returns mailboxes... and while all mailboxes have an email address, not all email addresses are a mailbox.

  • This doesnt bring back any aliases of a mailbox – Brian Mitchell Jan 28 '13 at 13:19
  • 1
    This is the answer that worked for me. It correctly returned the matching recipients both when searching by primary SMTP email addresses and also when searching with secondary SMTP email addresses. – RSW Mar 13 '15 at 19:10
  • 1
    @BrianMitchell, It totally can, if piped to view the desired attributes. Get-Recipient user@domain.com | Select Name,EmailAddresses. By default, it will just show Name and RecipientType. – blaughw Jan 28 '16 at 18:16
3

This should do the trick:

get-mailbox -an user@domain.com 
  • 5
    This will not work for accounts with multiple SMTP aliases; only the primary email address will return a record. Aliases will return nothing (falsely indicating the account is available). – Myrddin Emrys Mar 29 '12 at 21:49
  • 3
    Does not work for secondary addresses on a mailbox. – user174970 May 23 '13 at 10:59
2

I realize this is a bit old, but just solved the issue by running the following:

Get-Mailbox | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}
Get-DistributionGroup | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}
Get-MailPublicFolder | %{$_.EmailAddresses | ?{$_ -like "*<email address>*"}}

If anything was returned by any of them, it wouldn't necessarily tell me WHAT account was using it, but, I could then focus on which of the three returned a record to dive deeper. If nothing is returned, then it's not being used.

0

Get-Recipient should do the trick

-2

The following worked for me, even with aliases:

get-recipient -filter {emailaddresses -like "*user@domain.com*"}

Also returns the name of the recipient and the type.

protected by HopelessN00b Aug 20 '16 at 22:27

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.