Perintah Exchange 2010 Powershell untuk memeriksa apakah alamat email ada di sistem

12

Saya mencari perintah Exchange 2010 yang akan melakukan hal berikut:

  1. Diberikan alamat email (sepenuhnya memenuhi syarat dengan domain dan semuanya) periksa apakah alamat email tersebut dikaitkan dengan beberapa kotak surat atau grup dalam sistem;
  2. (Idealnya) menunjukkan entitas mana yang memiliki alamat email itu

Ini akan sangat membantu bagi saya untuk memeriksa migrasi saya dan memastikan semua alias kami dipindahkan dengan benar.

tacos_tacos_tacos
sumber

Jawaban:

15

Get-Recipient -Identity [email protected]

Ini akan mengembalikan objek penerima untuk siapa pun yang memiliki alamat email yang diberikan (termasuk alias). Karena email dijamin unik, ini seharusnya tidak pernah mengembalikan lebih dari satu catatan (saya percaya).

Get-Recipient -ANR user

Anda dapat menggunakan -ANRuntuk mencari menggunakan Resolusi Nama Ambigu (sehingga Anda dapat mengetikkan nama pengguna pertama, terakhir, dll), tetapi sementara PPA akan cocok dengan alamat email utama pengguna, itu tidak akan cocok dengan alias SMTP lainnya. PPA dapat mengembalikan beberapa pertandingan (jadi pastikan kode Anda menangani kasus ini).

Get-Mailboxtidak cukup untuk mengonfirmasi bahwa alamat email itu unik, karena tidak perlu mengembalikan kontak, atau catatan dari sistem eksternal atau sistem lama. Ini mengembalikan kotak surat ... dan sementara semua kotak surat memiliki alamat email, tidak semua alamat email adalah kotak surat.

Myrddin Emrys
sumber
Ini tidak membawa kembali alias apa pun dari kotak surat
Brian Mitchell
1
Ini adalah jawaban yang berhasil untuk saya. Itu benar mengembalikan penerima yang cocok baik ketika mencari berdasarkan alamat email SMTP primer dan juga ketika mencari dengan alamat email SMTP sekunder.
RSW
2
@BrianMitchell, Ini benar-benar bisa, jika disalurkan untuk melihat atribut yang diinginkan. Get-Recipient [email protected] | Select Name,EmailAddresses. Secara default, itu hanya akan menunjukkan Namedan RecipientType.
blaughw
3

Ini harus melakukan trik:

get-mailbox -an user@domain.com 
Mikael Grönfelt
sumber
5
Ini tidak akan berfungsi untuk akun dengan banyak alias SMTP; hanya alamat email utama yang akan mengembalikan catatan. Alias ​​tidak akan mengembalikan apa pun (yang secara keliru menunjukkan bahwa akun tersedia)
Myrddin Emrys
3
Tidak berfungsi untuk alamat sekunder di kotak surat.
2

Saya menyadari ini agak lama, tetapi baru saja menyelesaikan masalah dengan menjalankan yang berikut:

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

Jika ada yang dikembalikan oleh salah satu dari mereka, itu tidak akan memberi tahu saya akun APA menggunakannya, tapi, saya kemudian bisa fokus pada yang mana dari tiga mengembalikan catatan untuk menyelam lebih dalam. Jika tidak ada yang dikembalikan, maka itu tidak digunakan.

chasepeeler
sumber
0

Get-Recipient harus melakukan triknya

Naugrim
sumber
-2

Berikut ini berfungsi untuk saya, bahkan dengan alias:

get-recipient -filter {emailaddresses -like "*[email protected]*"}

Juga mengembalikan nama penerima dan jenisnya.

Travis V.
sumber