Commande Exchange 2010 Powershell pour vérifier si une adresse e-mail existe dans le système

12

Je recherche une commande Exchange 2010 qui ferait ce qui suit:

  1. Étant donné une adresse e-mail (entièrement qualifiée avec domaine et tous), vérifiez si l'adresse e-mail est associée à une boîte aux lettres ou à un groupe du système;
  2. (Idéalement) montrer quelle entité possède cette adresse e-mail

Ce serait très utile pour moi de vérifier ma migration et de m'assurer que tous nos alias ont été déplacés correctement.

tacos_tacos_tacos
la source

Réponses:

15

Get-Recipient -Identity [email protected]

Cela retournera l'objet destinataire pour celui qui a l'adresse e-mail donnée (y compris les alias). Étant donné que les e-mails sont garantis uniques, cela ne devrait jamais renvoyer plus d'un enregistrement (je crois).

Get-Recipient -ANR user

Vous pouvez utiliser -ANRpour effectuer une recherche à l'aide de la résolution de noms ambigus (afin de pouvoir saisir leur premier, dernier, nom d'utilisateur, etc.), mais bien que l'ANR corresponde à l'adresse e-mail principale d'un utilisateur, il ne correspondra pas à ses autres alias SMTP. ANR peut renvoyer plusieurs correspondances (assurez-vous donc que votre code gère ce cas).

Get-Mailboxn'est pas suffisant pour confirmer qu'une adresse e-mail est unique, car elle ne renverra pas nécessairement des contacts ou des enregistrements de systèmes externes ou hérités. Il renvoie des boîtes aux lettres ... et bien que toutes les boîtes aux lettres aient une adresse e-mail, toutes les adresses e-mail ne sont pas une boîte aux lettres.

Myrddin Emrys
la source
Cela ne ramène aucun alias d'une boîte aux lettres
Brian Mitchell
1
C'est la réponse qui a fonctionné pour moi. Il a correctement renvoyé les destinataires correspondants à la fois lors de la recherche par adresses e-mail SMTP principales et également lors de la recherche avec des adresses e-mail SMTP secondaires.
RSW
2
@BrianMitchell, il peut totalement, s'il est canalisé pour afficher les attributs souhaités. Get-Recipient [email protected] | Select Name,EmailAddresses. Par défaut, il affichera simplement Nameet RecipientType.
blaughw
3

Cela devrait faire l'affaire:

get-mailbox -an user@domain.com 
Mikael Grönfelt
la source
5
Cela ne fonctionnera pas pour les comptes avec plusieurs alias SMTP; seule l'adresse e-mail principale renvoie un enregistrement. Les alias ne renverront rien (indiquant faussement que le compte est disponible).
Myrddin Emrys
3
Ne fonctionne pas pour les adresses secondaires sur une boîte aux lettres.
2

Je me rends compte que c'est un peu ancien, mais j'ai juste résolu le problème en exécutant ce qui suit:

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

Si quelque chose était retourné par l'un d'entre eux, cela ne me dirait pas nécessairement QUEL compte l'utilisait, mais je pouvais alors me concentrer sur lequel des trois avait retourné un record pour plonger plus profondément. Si rien n'est retourné, il n'est pas utilisé.

éplucheur
la source
0

Get-Recipient devrait faire l'affaire

Naugrim
la source
-2

Les éléments suivants ont fonctionné pour moi, même avec des alias:

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

Renvoie également le nom du destinataire et le type.

Travis V.
la source