Exchange 2010 Powershell-Befehl zum Überprüfen, ob eine E-Mail-Adresse im System vorhanden ist


12

Ich suche nach einem Exchange 2010-Befehl, der Folgendes bewirkt:

  1. Wenn Sie eine E-Mail-Adresse angegeben haben (vollständig mit der Domain und allen qualifiziert), überprüfen Sie, ob die E-Mail-Adresse einem Postfach oder einer Gruppe im System zugeordnet ist.
  2. Zeigen Sie (im Idealfall) an, welche Entität diese E-Mail-Adresse besitzt

Dies wäre sehr hilfreich, um meine Migration zu überprüfen und sicherzustellen, dass alle unsere Aliase korrekt verschoben wurden.

Antworten:


15

Get-Recipient -Identity user@domain.com

Dadurch wird das Empfängerobjekt für jeden zurückgegeben, der über die angegebene E-Mail-Adresse verfügt (einschließlich Aliasnamen). Da E-Mails garantiert eindeutig sind, sollte dies niemals mehr als einen Datensatz zurückgeben (glaube ich).

Get-Recipient -ANR user

Sie können -ANRmithilfe der Mehrdeutigen Namensauflösung suchen (sodass Sie den Vor- und Nachnamen sowie den Benutzernamen usw. eingeben können). Während ANR jedoch mit der primären E-Mail-Adresse eines Benutzers übereinstimmt, stimmen die anderen SMTP-Aliase nicht überein. ANR kann mehrere Übereinstimmungen zurückgeben (stellen Sie also sicher, dass Ihr Code diesen Fall behandelt).

Get-Mailboxreicht nicht aus, um zu bestätigen, dass eine E-Mail-Adresse eindeutig ist, da sie nicht unbedingt Kontakte oder Aufzeichnungen von externen oder älteren Systemen zurückgibt. Es werden Postfächer zurückgegeben ... und während alle Postfächer eine E-Mail-Adresse haben, sind nicht alle E-Mail-Adressen ein Postfach.


Dies bringt keine Aliase eines Postfachs zurück
Brian Mitchell

1
Dies ist die Antwort, die für mich funktioniert hat. Die übereinstimmenden Empfänger wurden sowohl bei der Suche nach primären SMTP-E-Mail-Adressen als auch bei der Suche nach sekundären SMTP-E-Mail-Adressen korrekt zurückgegeben.
RSW

2
@BrianMitchell, Es kann total sein, wenn die gewünschten Attribute angezeigt werden. Get-Recipient user@domain.com | Select Name,EmailAddresses. Standardmäßig wird nur Nameund angezeigt RecipientType.
Blaughw

3

Dies sollte den Trick machen:

get-mailbox -an user@domain.com 

5
Dies funktioniert nicht für Konten mit mehreren SMTP-Aliasen. Nur die primäre E-Mail-Adresse gibt einen Datensatz zurück. Aliase geben nichts zurück (was fälschlicherweise anzeigt, dass das Konto verfügbar ist).
Myrddin Emrys

3
Funktioniert nicht für sekundäre Adressen in einer Mailbox.

2

Mir ist klar, dass dies ein bisschen alt ist, aber ich habe das Problem einfach gelöst, indem ich Folgendes ausführte:

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

Wenn irgendetwas von einem von ihnen zurückgegeben wurde, würde es mir nicht unbedingt sagen, WAS für ein Konto es verwendet wurde, aber ich könnte mich dann darauf konzentrieren, welches der drei ein Album zurückgab, um tiefer zu tauchen. Wenn nichts zurückgegeben wird, wird es nicht verwendet.



-2

Folgendes hat bei mir auch mit Pseudonymen funktioniert:

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

Gibt auch den Namen des Empfängers und den Typ zurück.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.