Comandă Powershell Exchange 2010 pentru a verifica dacă o adresă de e-mail există în sistem (Administrarea sistemului, Schimb, Exchange 2010, Powershell)

tacos_tacos_tacos a intrebat.

Caut o comandă Exchange 2010 care să facă următoarele:

  1. Dată fiind o adresă de e-mail (complet calificată cu domeniu și toate cele) să verifice dacă adresa de e-mail este asociată unei căsuțe poștale sau unui grup din sistem;
  2. (în mod ideal) să arate ce entitate deține acea adresă de e-mail

Acest lucru mi-ar fi foarte util pentru a-mi verifica migrația și a mă asigura că toate aliasurile noastre au fost mutate corect.

5 răspunsuri
Myrddin Emrys

Get-Recipient -Identity [email protected]

Aceasta va returna obiectul destinatar pentru oricine are adresa de e-mail dată (inclusiv aliasurile). Deoarece emailurile sunt garantate a fi unice, acest lucru nu ar trebui să returneze niciodată mai mult de o înregistrare (cred).

Get-Recipient -ANR user

Puteți utiliza -ANR pentru a căuta folosind Ambiguous Name Resolution (astfel încât să puteți tasta numele, prenumele, numele de utilizator, etc.), dar în timp ce ANR se va potrivi cu adresa de e-mail principală a unui utilizator, nu se va potrivi cu celelalte alias-uri SMTP ale acestuia. ANR poate returna mai multe corespondențe (asigurați-vă că codul dumneavoastră gestionează acest caz).

Get-Mailbox nu este suficient pentru a confirma că o adresă de e-mail este unică, deoarece nu va returna neapărat contacte sau înregistrări din sisteme externe sau vechi. Acesta returnează căsuțe poștale… și, deși toate căsuțele poștale au o adresă de e-mail, nu toate adresele de e-mail reprezintă o căsuță poștală.

Comentarii

  • Aceasta nu returnează nici un alias al unei căsuțe poștale –  > Por Brian Mitchell.
  • Acesta este răspunsul care a funcționat pentru mine. A returnat corect destinatarii corespunzători atât la căutarea prin adrese de e-mail SMTP primare, cât și la căutarea cu adrese de e-mail SMTP secundare. –  > Por RSW.
  • @BrianMitchell, Se poate, dacă este canalizat pentru a vizualiza atributele dorite. Get-Recipient [email protected] | Select Name,EmailAddresses. În mod implicit, va afișa doar Name și RecipientType. –  > Por blaughw.
Mikael Grönfelt

Acest lucru ar trebui să fie suficient:

get-mailbox -an [email protected] 

Comentarii

  • Acest lucru nu va funcționa pentru conturile cu mai multe alias-uri SMTP; numai adresa de e-mail principală va returna o înregistrare. Aliasurile nu vor returna nimic (indicând în mod fals că contul este disponibil). –  > Por Myrddin Emrys.
  • Nu funcționează pentru adresele secundare de pe o căsuță poștală. – user174970
chasepeeler

Îmi dau seama că acest lucru este un pic mai vechi, dar tocmai am rezolvat problema prin rularea următoarelor:

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

Dacă oricare dintre ele a returnat ceva, nu mi-ar spune neapărat CE cont îl folosește, dar, aș putea apoi să mă concentrez pe care dintre cele trei a returnat o înregistrare pentru a mă scufunda mai adânc. Dacă nu se returnează nimic, înseamnă că nu este utilizat.

Naugrim

Get-Recipient ar trebui să fie suficient

Travis V.

Următoarele au funcționat pentru mine, chiar și cu pseudonime:

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

De asemenea, returnează numele destinatarului și tipul.

Comentarii

  • Nu sunt sigur de ce a fost votat în jos, dar a funcționat și pentru mine. A trebuit să setez mai întâi setările serverului AD pentru a vizualiza întreaga pădure cu: Set-ADServerSettings -ViewEntireForest $true –  > Por Alex Hague.
  • Confirmat, asta chiar funcționează. –  > Por Ronald.