Команда Powershell Exchange 2010 перевірити, чи існує електронна адреса в системі


12

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

  1. Враховуючи адресу електронної пошти (повністю кваліфіковану з доменом і всіма), перевірте, чи адреса електронної пошти пов’язана з якоюсь поштовою скринькою чи групою в системі;
  2. (В ідеалі) покажіть, якій особі належить ця електронна адреса

Це було б дуже корисно для мене, щоб перевірити міграцію та переконатися, що всі наші псевдоніми були переміщені правильно.

Відповіді:


15

Get-Recipient -Identity user@domain.com

Це поверне об’єкт одержувача тому, хто має вказану електронну адресу (включаючи псевдоніми). Оскільки повідомлення електронної пошти гарантовано є унікальними, я ніколи не повинен повертати більше одного запису (я вважаю).

Get-Recipient -ANR user

Ви можете використовувати -ANRдля пошуку за допомогою неоднозначної роздільної здатності імен (таким чином, ви можете ввести їх перше, останнє, ім’я користувача тощо), але, хоча ANR буде відповідати основній адресі електронної пошти користувача, вона не збігатиметься з іншими псевдонімами SMTP. ANR може повернути кілька збігів (тому переконайтеся, що ваш код обробляє цей випадок).

Get-Mailboxнедостатньо для підтвердження того, що адреса електронної пошти є унікальною, оскільки вона не обов'язково повертає контакти чи записи із зовнішніх або застарілих систем. Він повертає поштові скриньки ... і хоча всі поштові скриньки мають адресу електронної пошти, не всі адреси електронної пошти є поштовою скринькою.


Це не повертає жодних псевдонімів поштової скриньки
Брайан Мітчелл

1
Це відповідь, яка працювала на мене. Він правильно повертав відповідних одержувачів як при пошуку за основними SMTP-адресами електронної пошти, так і при пошуку за вторинними SMTP-адресами електронної пошти.
RSW

2
@BrianMitchell, Він цілком може, якщо в трубі, щоб переглянути потрібні атрибути. Get-Recipient user@domain.com | Select Name,EmailAddresses. За замовчуванням він просто покаже Nameі RecipientType.
відлякувати

3

Для цього слід зробити фокус:

get-mailbox -an user@domain.com 

5
Це не працюватиме для облікових записів із декількома псевдонімами SMTP; лише первинна адреса електронної пошти поверне запис. Псевдоніми нічого не повернуть (помилково вказуючи, що рахунок доступний).
Мірддін Емріс

3
Не працює для вторинних адрес на поштовій скриньці.

2

Я усвідомлюю, що це трохи старе, але щойно вирішив проблему, виконавши наступне:

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

Якщо хтось із них повернув, це не обов'язково скаже мені, Який обліковий запис використовує його, але я можу тоді зосередитись на тому, хто з трьох повернув запис, щоб зануритися глибше. Якщо нічого не повернено, то воно не використовується.



-2

Наступне працювало для мене навіть з псевдонімами:

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

Також повертає ім'я одержувача та тип.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.