Cómo detectar direcciones de correo electrónico duplicadas en Exchange

Sí, lidiar con direcciones SMTP duplicadas en Exchange puede ser un verdadero fastidio. A veces, aparecen errores como «más de un objeto de Active Directory tiene la misma dirección» o, al crear un buzón, se indica que la dirección ya existe en otro lugar de AD. Es un poco extraño, pero estos problemas suelen surgir debido a entradas conflictivas que no se muestran fácilmente. Para solucionarlos, es necesario localizar esos duplicados, ya sea manualmente o con scripts, y asegurarse de que cada dirección SMTP sea totalmente única.

Cómo encontrar y reparar direcciones SMTP duplicadas en Exchange y AD

Método 1: Uso de usuarios y equipos de Active Directory (ADUC)

Este es el recurso habitual y funciona bastante bien si se está familiarizado con las consultas LDAP. La idea es buscar en Active Directory objetos que compartan una dirección SMTP. La consulta LDAP aduc.msces sencilla pero eficaz, ya que filtra directamente las direcciones proxy.

  • Abra la consola ADUC escribiendo aduc.msc en Ejecutar ( Win + R).
  • Vaya a Buscar y seleccione Búsqueda personalizada.
  • Vaya a la pestaña «Avanzado» y pegue este filtro LDAP: proxyAddresses=smtp:[email protected]. Recuerde reemplazar el correo electrónico por la dirección que busca. Es un poco molesto, pero esto filtra los objetos de AD que contienen ese correo electrónico en su atributo «proxyAddresses».
  • Presione Buscar y la búsqueda mostrará todos los objetos (usuarios, contactos, grupos) con esa dirección SMTP.
  • Si encuentra duplicados, haga clic derecho en el objeto, seleccione Propiedades, vaya a la pestaña Editor de atributos, busque proxyAddresses y edítelo para que las direcciones sean únicas.

Sí, en algunas configuraciones, la búsqueda puede devolver falsos positivos o pasar por alto información, especialmente si el atributo no es visible o el filtro LDAP no es perfecto. Pero al menos es un buen punto de partida.

Método 2: Usar PowerShell con Active Directory

Si prefiere usar scripts, PowerShell puede hacerlo. Es más rápido si tiene docenas de objetos. Este es un comando típico para buscar una dirección en AD:

Get-ADObject -Properties mail, proxyAddresses -Filter {proxyAddresses -like "*smtp:[email protected]*"} | Select Name, proxyAddresses

Esto extrae todos los objetos con ese alias SMTP. Si el resultado muestra varios objetos, significa que hay duplicados. Por supuesto, reemplaza «[email protected]» por tu correo electrónico de destino.

Cabe destacar que este comando requiere que el módulo de Active Directory se instale y ejecute desde PowerShell de ADUC o desde un servidor unido al dominio. Es posible que también deba ejecutarlo como administrador.

Método 3: Verificar Exchange mediante PowerShell

También puedes buscar directamente en Exchange usando el Shell de administración de Exchange. Es un poco extraño tener que hacer ambas cosas, pero esto es lo que debes ejecutar:

Get-Recipient -ResultSize unlimited | Where-Object { $_. EmailAddresses -like "*[email protected]*" }

Esto busca en todos los destinatarios (buzones, contactos, grupos) y muestra dónde permanece esa dirección SMTP. Si ve varios objetos, ese es el problema.

Método 4: Exportar todas las direcciones de correo electrónico para obtener una vista general

Si los métodos anteriores son demasiado lentos o confusos, exportar la lista completa podría ser útil. Ejecute esto en Exchange para volcar todas las direcciones de correo electrónico en un archivo de texto:

Get-Recipient -ResultSize unlimited | Select-Object Name, EmailAddresses | Export-Csv C:\PS\Results\all_smtp_addresses.csv -NoTypeInformation

Desde allí, puedes abrir el CSV y buscar duplicados con Excel, Finder o simplemente explorar el archivo de texto. No es muy elegante, pero proporciona un registro de auditoría completo.

Bono: Uso de Microsoft IdFix para la detección de duplicados

Si tienes problemas de sincronización entre AD local y Azure AD (por ejemplo, duplicados que causan errores de identidad), IdFix es una herramienta muy útil. Analiza tu AD en busca de direcciones de correo electrónico duplicadas y otros conflictos de atributos. Claro que Microsoft tuvo que complicar la sincronización, e IdFix facilita la detección del problema antes de sincronizarlo todo.

Dicho esto, tras encontrar duplicados, se trata principalmente de editar las direcciones SMTP o UPN para que cada objeto sea único. No es ninguna ciencia, pero hay que tener cuidado: no se debe interrumpir el enrutamiento del correo electrónico.

Ah, y recuerda: a veces, los duplicados no son evidentes al principio. Comprueba si hay direcciones asociadas a contactos o incluso a objetos antiguos. En algunas configuraciones, una simple limpieza puede tardar unos minutos; en otras, es todo un lío con scripts o ediciones manuales.

Claro que solucionar estos problemas a menudo parece un juego de lógica, pero los métodos anteriores suelen funcionar con bastante regularidad. No sé por qué funciona, pero iterar entre la búsqueda de AD, los cmdlets de Exchange y la limpieza de atributos suele solucionarlo.

Resumen

  • Utilice aduc.msc con filtros LDAP para encontrar direcciones duplicadas en AD.
  • Aproveche los scripts de PowerShell como Get-ADObjecto Get-Recipientpara realizar búsquedas más rápidas.
  • Verifique el atributo proxyAddresses y asegúrese de que cada SMTP sea único.
  • Considere usar Microsoft IdFix si surgen problemas de sincronización o se sospecha que hay duplicados.

Resumen

Gestionar direcciones SMTP duplicadas es un fastidio, pero si se busca metódicamente con herramientas de AD y cmdlets de Exchange, es posible. Corregir los duplicados editando direcciones proxy o UPN suele solucionar los errores y el correo electrónico debería volver a funcionar correctamente. Es un poco tedioso, pero una vez solucionado el problema, el sistema funciona mejor y esos errores dejan de aparecer. Ojalá esto ayude a alguien a ahorrarse unas horas.