Búsqueda de sitios web

Buscar listas de distribución inactivas (no utilizadas) en Exchange/Microsoft 365


Dentro de su organización de Exchange o inquilino de Exchange Online (Microsoft 365), puede crear cientos de grupos de distribución (listas de distribución, DL). El administrador de Exchange debe eliminar periódicamente las listas de distribución que ya no están en uso. En este artículo, le mostraremos cómo encontrar y eliminar grupos de distribución vacíos y sin usar en Exchange.

La búsqueda de listas de distribución no utilizadas difiere de la búsqueda de usuarios o equipos de AD inactivos. Una DL de Exchange no tiene un atributo como LastLogonDate/LastLogonTimeStamp para rastrear cuándo se usó un objeto por última vez. Puede usar los registros de seguimiento de Exchange para determinar si los correos electrónicos se han enviado a un grupo de distribución en particular.

Listar grupos de distribución vacíos en Exchange con PowerShell

Si no hay usuarios en el grupo de distribución, es probable que ya no sea necesario.

Puede usar PowerShell para buscar grupos de distribución vacíos en una organización de Exchange. Conéctese a su Exchange Server mediante PowerShell y ejecute el siguiente resumen:

Get-DistributionGroup -ResultSize Unlimited |Where-Object { (Get-DistributionGroupMember -Identity $_.Name -ResultSize Unlimited).Count -eq 0} | select Name, PrimarySmtpAddress

Analice la lista resultante de grupos de distribución y elimine (oculte) los DL que no necesita usando el

Remove-DistributionGroup

dominio.

De manera similar, puede usar Get-DynamicDistributionGroup para encontrar listas de distribución dinámicas vacías:

Get-DynamicDistributionGroup -ResultSize Unlimited | Where-Object { (Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup -Identity $_.Identity).RecipientFilter).count -eq 0} | select Name, PrimarySmtpAddress

Cómo encontrar grupos de distribución inactivos en Exchange Server

El cmdlet Get-MessageTrackingLog se usa en Exchange Server para analizar los registros de transporte. Por ejemplo, puede contar la cantidad de mensajes de correo electrónico enviados a un grupo de distribución durante los últimos 90 días con el siguiente comando:

Get-MessageTrackingLog -Start (Get-Date).AddDays(-90) -ResultSize unlimited -Recipients "dl-it_admins@a-d.site"| measure-object

Puede utilizar el siguiente comando para aumentar el período de retención de los registros de seguimiento de correo electrónico en Exchange Server a 180 días:

Set-TransportService MUN-Ex01 -MessageTrackingLogMaxAge 180.00:00:00

Para buscar grupos de distribución no utilizados, puede usar el siguiente script de PowerShell:

  1. Obtenga una lista de todos los grupos de distribución en un dominio y expórtela a un archivo CSV:

    Get-DistributionGroup | Select-Object PrimarySMTPAddress | Sort-Object PrimarySMTPAddress | Export-CSV all-exchange-dls.csv -notype
  2. Enumere los DL que recibieron correos electrónicos en los últimos 30 días:

    Get-MessageTrackingLog -Start (Get-Date).AddDays(-30) -EventId Expand -ResultSize Unlimited |Sort-Object RelatedRecipientAddress | Group-Object RelatedRecipientAddress |Sort-Object Name | Select-Object @{label= "PrimarySmtpAddress";expression={$_.Name}}, Count | Export-CSV exchange-active-dls.csv -notype

    Si su organización de Exchange tiene más de un servidor con una función de transporte (puede obtener una lista de ellos usando

    Get-TransportService

    ), deberá buscar cada uno de ellos:

    Get-MessageTrackingLog -Server Exh01 …
  3. Luego compare las dos listas y encuentre grupos inactivos:

    $alldl = Import-CSV -Path all-exchange-dls.csv
    $activedl = Import-CSV -Path exchange-active-dls.csv
    Compare-Object $alldl $activedl -Property PrimarySmtpAddress -SyncWindow 500 |Sort-Object PrimarySmtpAddress | Select-Object -Property PrimarySmtpAddress |Export-Csv inactive-dls.csv -NoType
  4. Puede ocultar los grupos de distribución no utilizados en la Lista global de direcciones:

    $currentdate = Get-Date
    $notes = "Inactive: hidden in the address list at $currentdate"
    $inactiveDL = Import-CSV -Path inactive-dls.| foreach-object
    {
    Set-Group -identity $_.PrimarySmtpAddress -notes $notes
    Set-DistributionGroup -identity $_.PrimarySmtpAddress -HiddenFromAddressListsEnabled $true
    }

Identificar listas de distribución inactivas en Microsoft 365 (Exchange Online)

En Microsoft 365, puede realizar un seguimiento de los registros de correo electrónico mediante el Centro de administración de Exchange (Flujo de correo -> Seguimiento de mensajes) o utilizando

Start-HistoricalSearch

o

Get-MessageTrace

Cmdlets de PowerShell. El último comando tiene una limitación significativa: solo le permite buscar correos electrónicos que se enviaron en los últimos 10 días. Esto no es adecuado para nuestra tarea.

Instale el módulo Exchange Online PowerShell (EXO) y conéctese a su arrendatario:

Connect-ExchangeOnline

El siguiente comando muestra la cantidad de correos electrónicos enviados a la dirección SMTP de una lista de distribución:

Start-HistoricalSearch -ReportTitle "Global Admin DL" -StartDate 04/20/2023 -EndDate 06/20/2023 -ReportType MessageTrace -RecipientAddress global_admins@ a-d.site -NotifyAddress maxb@a-d.site

Hay un máximo de 250 búsquedas de historial por período de 24 horas que puede usar un solo inquilino.

Para iniciar la búsqueda de DL inactivos, puede utilizar el siguiente script:

foreach ($group in Get-DistributionGroup)
{
Start-HistoricalSearch -ReportTitle $group.PrimarySmtpAddress -StartDate 04/20/2023 -EndDate 06/21/2023 -ReportType MessageTrace -RecipientAddress $group.PrimarySmtpAddress -NotifyAddress maxb@a-d.site
}

Una vez completada la búsqueda, puede verificar cuántos correos electrónicos se han enviado a DL:

Get-HistoricalSearch "Global Admin DL"

Si la lista de mensajes está vacía (

Rows = 0

), significa que el grupo de distribución no se ha utilizado en Exchange Online en los últimos 90 días. Dicha lista de distribución puede considerarse inactiva.

Puede usar Grupos de Microsoft 365 en lugar de Listas de distribución en Exchange Online.

Artículos relacionados