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.

Réponses:


15

Get-Recipient -Identity user@domain.com

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.


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 user@domain.com | Select Name,EmailAddresses. Par défaut, il affichera simplement Nameet RecipientType.
blaughw

3

Cela devrait faire l'affaire:

get-mailbox -an user@domain.com 

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é.



-2

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

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

Renvoie également le nom du destinataire et le type.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.