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


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。デフォルトでは、とのみが表示さNameRecipientTypeます。
blaughw

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>*"}}

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



-2

エイリアスがあっても、次のことがうまくいきました:

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

また、受信者の名前とタイプも返します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.