Comando de Exchange 2010 Powershell para verificar si existe una dirección de correo electrónico en el sistema

12

Estoy buscando un comando de Exchange 2010 que haga lo siguiente:

  1. Dada una dirección de correo electrónico (totalmente calificada con dominio y todo) verifique si la dirección de correo electrónico está asociada a algún buzón o grupo en el sistema;
  2. (Idealmente) muestre qué entidad posee esa dirección de correo electrónico

Esto sería muy útil para mí para verificar mi migración y asegurarme de que todos nuestros alias se movieron correctamente.

tacos_tacos_tacos
fuente

Respuestas:

15

Get-Recipient -Identity [email protected]

Esto devolverá el objeto del destinatario para quien tenga la dirección de correo electrónico dada (incluidos los alias). Como se garantiza que los correos electrónicos sean únicos, esto nunca debería devolver más de un registro (creo).

Get-Recipient -ANR user

Puede usar -ANRpara buscar usando la Resolución de nombre ambigua (para que pueda escribir su primer, último nombre de usuario, etc.), pero aunque ANR coincidirá con la dirección de correo electrónico principal de un usuario, no coincidirá con sus otros alias SMTP. ANR puede devolver múltiples coincidencias (así que asegúrese de que su código maneje este caso).

Get-Mailboxno es suficiente para confirmar que una dirección de correo electrónico es única, ya que no necesariamente devolverá contactos o registros de sistemas externos o heredados. Devuelve buzones ... y aunque todos los buzones tienen una dirección de correo electrónico, no todas las direcciones de correo electrónico son un buzón.

Myrddin Emrys
fuente
Esto no devuelve ningún alias de un buzón
Brian Mitchell
1
Esta es la respuesta que funcionó para mí. Devolvió correctamente los destinatarios coincidentes tanto al buscar por direcciones de correo electrónico SMTP primarias como al buscar con direcciones de correo electrónico SMTP secundarias.
RSW
2
@BrianMitchell, totalmente puede, si se canaliza para ver los atributos deseados. Get-Recipient [email protected] | Select Name,EmailAddresses. Por defecto, solo mostrará Namey RecipientType.
blaughw
3

Esto debería funcionar:

get-mailbox -an user@domain.com 
Mikael Grönfelt
fuente
55
Esto no funcionará para cuentas con múltiples alias SMTP; solo la dirección de correo electrónico principal devolverá un registro. Los alias no devolverán nada (indicando falsamente que la cuenta está disponible).
Myrddin Emrys
3
No funciona para direcciones secundarias en un buzón.
2

Me doy cuenta de que esto es un poco viejo, pero resolví el problema ejecutando lo siguiente:

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

Si alguno de ellos devolvió algo, no necesariamente me diría QUÉ cuenta lo estaba usando, pero podría concentrarme en cuál de los tres devolvió un registro para profundizar. Si no se devuelve nada, entonces no se está utilizando.

Chasepeeler
fuente
0

Get-Recipient debería hacer el truco

Naugrim
fuente
-2

Lo siguiente funcionó para mí, incluso con alias:

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

También devuelve el nombre del destinatario y el tipo.

Travis V.
fuente