web-dev-qa-db-ja.com

システムに電子メールアドレスが存在するかどうかを確認するExchange 2010 Powershellコマンド

以下を実行するExchange 2010コマンドを探しています。

  1. 電子メールアドレス(ドメインおよびすべてで完全修飾)が与えられた場合、その電子メールアドレスがシステムのメールボックスまたはグループに関連付けられているかどうかを確認します。
  2. (理想的には)そのメールアドレスを所有しているエンティティを表示する

これは、移行を確認し、すべてのエイリアスが正しく移動されたことを確認するのに非常に役立ちます。

12

Get-Recipient -Identity [email protected]

これにより、指定された電子メールアドレス(エイリアスを含む)を持つ人の受信者オブジェクトが返されます。電子メールは一意であることが保証されているため、複数のレコードを返すことはありません(私は信じています)。

Get-Recipient -ANR user

-ANRを使用すると、あいまいな名前解決を使用して検索できます(したがって、最初、最後、ユーザー名などを入力できます)が、ANRはユーザーのプライマリメールアドレスと一致しますが、他のSMTPエイリアスとは一致しません。 ANRは複数の一致を返す可能性があります(コードがこのケースを処理することを確認してください)。

Get-Mailboxでは、連絡先や外部システムやレガシーシステムからのレコードが返されるとは限らないため、メールアドレスが一意であることを確認するには不十分です。それはメールボックスを返します...そして、すべてのメールボックスにメールアドレスがありますが、すべてのメールアドレスがメールボックスであるとは限りません。

15
Myrddin Emrys

これでうまくいくはずです:

get-mailbox -an [email protected] 
3

これは少し古いことに気づきましたが、次のコマンドを実行して問題を解決しました:

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

それらのいずれかから何かが返されたとしても、それがWHATアカウントがそれを使用していたとは必ずしも言えませんが、その後、3つのうちどれがより深く掘り下げるためにレコードを返したかに焦点を当てることができます。何も返されない場合は、使用されていません。

2
chasepeeler

Get-Recipientはトリックを行う必要があります

0
Naugrim