Назад | Перейти на главную страницу

Команда PowerShell в Exchange 2010 для проверки наличия адреса электронной почты в системе

Я ищу команду Exchange 2010, которая выполняла бы следующие действия:

  1. Учитывая адрес электронной почты (с полным доменом и всем остальным), проверьте, связан ли адрес электронной почты с каким-либо почтовым ящиком или группой в системе;
  2. (В идеале) показать, какое лицо владеет этим адресом электронной почты

Это было бы очень полезно для меня, чтобы проверить мою миграцию и убедиться, что все наши псевдонимы были перемещены правильно.

Get-Recipient -Identity user@domain.com

Это вернет объект получателя для всех, у кого есть данный адрес электронной почты (включая псевдонимы). Поскольку электронные письма гарантированно уникальны, это никогда не должно возвращать более одной записи (я считаю).

Get-Recipient -ANR user

Ты можешь использовать -ANR для поиска с использованием разрешения неоднозначного имени (чтобы вы могли ввести их имя, фамилию, имя пользователя и т. д.), но хотя ANR будет соответствовать основному адресу электронной почты пользователя, он не будет соответствовать другим его псевдонимам SMTP. ANR может возвращать несколько совпадений (поэтому убедитесь, что ваш код обрабатывает этот случай).

Get-Mailbox недостаточно для подтверждения уникальности адреса электронной почты, поскольку он не обязательно возвращает контакты или записи из внешних или устаревших систем. Он возвращает почтовые ящики ... и хотя все почтовые ящики имеют адреса электронной почты, не все адреса электронной почты являются почтовыми ящиками.

Это должно помочь:

get-mailbox -an user@domain.com 

Я понимаю, что это немного устарело, но просто решил проблему, выполнив следующее:

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

Если что-то было возвращено кем-либо из них, это не обязательно сообщило бы мне, КАКАЯ учетная запись использовала это, но я мог бы сосредоточиться на том, какой из трех вернул запись, чтобы погрузиться глубже. Если ничего не возвращается, значит, он не используется.

Get-Recipient должен помочь

У меня работало даже с псевдонимами:

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

Также возвращает имя получателя и тип.