Búsqueda de sitios web

Encuentre una dirección SMTP específica con PowerShell


¿Cómo encontrar una dirección SMTP específica con PowerShell en la Organización de Exchange? Quiere saber cuántos buzones de correo están configurados con una dirección SMTP específica. En este artículo, aprenderá cómo buscar y enumerar buzones de correo en Exchange Server con una dirección SMTP específica.

Encuentre una dirección SMTP específica con PowerShell

Puede iniciar sesión en el Centro de administración de Exchange (EAC), abrir los buzones uno por uno y buscar la dirección SMTP específica. Sin embargo, no recomiendo hacerlo a menos que tengas mucho tiempo y te guste gastarlo de esa manera.

¿Quiere enumerar todas las direcciones SMTP en la organización de intercambio? Lea cómo enumerar todas las direcciones SMTP con PowerShell »

Nota: Los siguientes comandos funcionan para Exchange Server local y Exchange Online.

Conéctese con las herramientas de administración de Exchange antes de ejecutar los comandos:

  • Exchange Server local: ejecute el Shell de administración de Exchange como administrador.

  • Exchange Online: Ejecute PowerShell como administrador y conéctese a Exchange Online PowerShell.

Nota: Cambie Get-Mailbox a Get-Recipient en los comandos para mostrar todos los objetos de la organización. Esto obtendrá los buzones de correo, los grupos de distribución, los grupos de seguridad y los contactos.

Encuentre una dirección SMTP específica por dominio

Nos gusta encontrar buzones de correo con una dirección SMTP específica en Exchange Server. Estas son la dirección SMTP principal y la dirección SMTP secundaria, también conocida como dirección de alias.

Ejecute el Shell de administración de Exchange como administrador. Ejecute el cmdlet para enumerar los buzones de correo con ese dominio en particular.

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@alitajran.com"} | Sort-Object Name

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Administrator             Administrator        ex01-2016        Unlimited
Ali Tajran                alitajran            ex01-2016        Unlimited
Benetiz Anees             Benetiz.Anees        ex01-2016        Unlimited
Boris Campbell            boris.campbell       ex01-2016        Unlimited
Carl Kelly                carl.kelly           ex01-2016        Unlimited
Christopher Payne         christopher.payne    ex01-2016        Unlimited

Encuentre una dirección SMTP específica por nombre

Quizás quieras buscar un nombre en lugar de un dominio. ¿Qué necesitas cambiar para que eso sea posible? Cambie el dominio *@alitajran.com por un nombre que contenga la dirección SMTP. Por ejemplo, *tajran*. Esto buscará todo lo que tenga ese nombre en todos los campos SMTP.

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*tajran*"} | Sort-Object Name

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Administrator             Administrator        ex01-2016        Unlimited
Ali Tajran                alitajran            ex01-2016        Unlimited
Benetiz Anees             Benetiz.Anees        ex01-2016        Unlimited
Boris Campbell            boris.campbell       ex01-2016        Unlimited
Carl Kelly                carl.kelly           ex01-2016        Unlimited
Christopher Payne         christopher.payne    ex01-2016        Unlimited

Lista resultado informativo

Modifique la vista de tabla y agregue la información que necesita al cmdlet Select-Object. Por ejemplo, DisplayName, PrimarySMTPAddress y EmailAddresses.

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@alitajran.com"} | Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={$_.EmailAddresses | Where-Object {$_ -clike "smtp*"}}} | Select-Object DisplayName, PrimarySMTPAddress, EmailAddresses | Sort-Object DisplayName

DisplayName       PrimarySmtpAddress          EmailAddresses
-----------       ------------------          --------------
Administrator     Administrator@exoip.com     {smtp:Administrator@alitajran.com, smtp:Administrator@exoip.local}
Ali Tajran        Ali.Tajran@exoip.com        smtp:alitajran@alitajran.com
Benetiz Anees     Benetiz.Anees@exoip.com     smtp:Benetiz.Anees@alitajran.com
Boris Campbell    Boris.Campbell@exoip.com    {smtp:Boris.Campbell@contoso.com, smtp:Boris.Campbell@alitajran.com}
Carl Kelly        Carl.Kelly@exoip.com        smtp:carl.kelly@alitajran.com
Christopher Payne Christopher.Payne@exoip.com smtp:christopher.payne@alitajran.com

Salida de polvo para una vista más limpia

Para una apariencia más limpia, elimine smtp: de las direcciones SMTP secundarias.

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@alitajran.com"} | Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={($_.EmailAddresses | Where-Object {$_ -clike "smtp*"} | ForEach-Object {$_ -replace "smtp:",""}) -join ","}} | Sort-Object DisplayName

DisplayName       PrimarySmtpAddress          EmailAddresses
-----------       ------------------          --------------
Administrator     Administrator@exoip.com     Administrator@alitajran.com, Administrator@exoip.local
Ali Tajran        Ali.Tajran@exoip.com        alitajran@alitajran.com
Benetiz Anees     Benetiz.Anees@exoip.com     Benetiz.Anees@alitajran.com
Boris Campbell    Boris.Campbell@exoip.com    Boris.Campbell@contoso.com, Boris.Campbell@alitajran.com
Carl Kelly        Carl.Kelly@exoip.com        carl.kelly@alitajran.com
Christopher Payne Christopher.Payne@exoip.com christopher.payne@alitajran.com

Exportar a archivo CSV

Nos gusta exportar los buzones de correo con una dirección SMTP específica a CSV. Esto exportará el archivo CSV a C:\temp\. No olvide crear una carpeta temporal en la unidad C o editar la ruta de exportación.

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@alitajran.com"} | Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={($_.EmailAddresses | Where-Object {$_ -clike "smtp*"} | ForEach-Object {$_ -replace "smtp:",""}) -join ","}} | Sort-Object DisplayName | Export-CSV "C:\temp\Specific_SMTP_Addresses.csv" -NoTypeInformation -Encoding UTF8

Abra el archivo CSV exportado con Microsoft Excel u otro visor/editor de archivos CSV.

Espero que te haya ayudado a buscar y enumerar los buzones que tienen configurada una dirección SMTP específica.

Sigue leyendo: Cómo eliminar de forma masiva la dirección SMTP secundaria con PowerShell »

Conclusión

Aprendiste cómo encontrar una dirección SMTP específica con PowerShell en Exchange Server. Ejecute el cmdlet en PowerShell para obtener una lista de los buzones de correo con una dirección SMTP específica. Ajuste el cmdlet Select-Object con los valores que desee ver. Después de eso, exporte la lista a un archivo CSV y ábralo con su visor/editor CSV favorito.

Disfrutaste este artículo? También te puede gustar la creación masiva de usuarios de AD con contraseñas aleatorias. No olvides seguirnos y compartir este artículo.

Artículos relacionados