Sistemde bir e-posta adresinin bulunup bulunmadığını kontrol etmek için Exchange 2010 Powershell komutu


12

Aşağıdakileri yapacak bir Exchange 2010 komutu arıyorum:

  1. Bir e-posta adresi verildiğinde (etki alanı ve tümü ile tam olarak nitelendirilir) e-posta adresinin sistemdeki bir posta kutusu veya grupla ilişkilendirilip ilişkilendirilmediğini kontrol edin;
  2. (İdeal olarak) hangi varlığın bu e-posta adresine sahip olduğunu göster

Bu, geçişimi kontrol etmem ve tüm takma adlarımızın doğru bir şekilde taşındığından emin olmam için çok yararlı olacaktır.

Yanıtlar:


15

Get-Recipient -Identity user@domain.com

Bu, belirtilen e-posta adresine (takma adlar dahil) sahip olan için alıcı nesnesini döndürür. E-postaların benzersiz olduğu garanti edildiğinden, bu asla birden fazla kayıt döndürmemelidir (sanırım).

Get-Recipient -ANR user

-ANRBelirsiz Ad Çözümlemesi'ni kullanarak arama yapmak için kullanabilirsiniz (böylece ilk, son, kullanıcı adını vb. Yazabilirsiniz), ancak ANR kullanıcının birincil e-posta adresiyle eşleşirken, diğer SMTP takma adlarıyla eşleşmez. ANR birden fazla eşleşme döndürebilir (bu nedenle kodunuzun bu durumu ele aldığından emin olun).

Get-Mailboxbir e-posta adresinin benzersiz olduğunu doğrulamak için yeterli değildir, çünkü kişileri veya harici veya eski sistemlerden kayıtları geri göndermeyebilir. Posta kutularını döndürür ... ve tüm posta kutularının bir e-posta adresi olsa da, tüm e-posta adresleri bir posta kutusu değildir.


Bu, bir posta kutusunun diğer adlarını geri getirmez
Brian Mitchell

1
Benim için işe yarayan cevap bu. Hem birincil SMTP e-posta adresleriyle arama yaparken hem de ikincil SMTP e-posta adresleriyle arama yaparken eşleşen alıcıları doğru bir şekilde döndürdü.
RSW

2
@BrianMitchell, Tamamen olabilir, eğer istenen özellikleri görüntülemek için borulu. Get-Recipient user@domain.com | Select Name,EmailAddresses. Varsayılan olarak, yalnızca Nameve öğelerini gösterecektir RecipientType.
blaughw

3

Bu hile yapmalı:

get-mailbox -an user@domain.com 

5
Bu, birden çok SMTP takma adı olan hesaplar için çalışmaz; yalnızca birincil e-posta adresi bir kayıt döndürür. Takma adlar hiçbir şey döndürmez (hesabın hatalı olduğunu gösterir).
Myrddin Emrys

3
Bir posta kutusundaki ikincil adresler için çalışmaz.

2

Bunun biraz eski olduğunu fark ettim, ancak sadece aşağıdakileri çalıştırarak sorunu çözdüm:

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

Bunlardan herhangi biri tarafından iade edilen bir şey varsa, bana hesabın ne kullandığını söylemeyecekti, ancak daha sonra üçünden hangisinin daha derine dalmak için bir kayıt döndürdüğüne odaklanabildim. Hiçbir şey döndürülmezse kullanılmaz.



-2

Takma adlarla bile aşağıdakiler benim için çalıştı:

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

Ayrıca alıcının adını ve türünü döndürür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.