Comment identifier les listes de distribution inactives dans Exchange et Microsoft 365

Comment trouver et supprimer les groupes de distribution inutilisés dans Exchange (sur site et en ligne)

Trouver des groupes de distribution inutilisés peut s’avérer un véritable casse-tête, d’autant plus qu’il n’existe pas d’attribut « dernière utilisation » aussi simple que pour les connexions utilisateur. De plus, certains de ces groupes sont oubliés, mais persistent, encombrant la liste d’adresses globale (GAL) ou occupant inutilement de l’espace. Il s’agit donc principalement d’utiliser PowerShell, que ce soit sur votre serveur Exchange local ou pour Exchange Online dans Microsoft 365. L’idée, surtout si vous souhaitez faire du ménage, est d’identifier les groupes sans membres (probablement abandonnés) ou qui n’ont pas reçu d’e-mails depuis longtemps ; autrement dit, ils ne sont plus utilisés. Comme Exchange ne conserve pas directement la date du dernier e-mail, cette approche est certes un peu détournée, mais suffisamment efficace.

Lister les groupes de distribution vides dans Exchange avec PowerShell

Si un groupe de distribution ne contient aucun membre, il est probablement inutile. Sur une configuration, cela a fonctionné, sur une autre… beaucoup moins. Néanmoins, c’est une bonne première étape pour identifier les groupes manifestement inutilisés. Pourquoi c’est utile : cela montre directement quels groupes sont vides – pas nécessairement inactifs, mais un bon indicateur qu’ils ne sont probablement plus nécessaires. Lorsque vous exécutez cette commande, attendez-vous à une liste de groupes sans membres, ce qui facilite le nettoyage. Parfois, ces groupes sont des vestiges d’anciens projets ou de restructurations d’équipe. Lorsque vous effectuez cette opération, assurez-vous d’être connecté à votre environnement Exchange via PowerShell. Pour Exchange Server, cela signifie ouvrir une console de gestion Exchange ou se connecter à distance. Pour Exchange Online, vous aurez besoin du module PowerShell Exchange Online et vous vous connecterez avec `Connect-ExchangeOnline`.Voici la commande pour commencer : powershell Get-DistributionGroup –ResultSize Unlimited | Where-Object { (Get-DistributionGroupMember –Identity $_. Name –ResultSize Unlimited).Count -eq 0 } | La commande `Select-Object Name, PrimarySmtpAddress` extrait les membres du groupe. Si le résultat est zéro, le groupe n’est peut-être plus nécessaire ou est mal configuré. Cette commande peut être lente avec un grand nombre de groupes, mais elle est utile. Pour les groupes de distribution dynamiques, vous pouvez utiliser une commande similaire : `powershell Get-DynamicDistributionGroup -ResultSize Unlimited | Where-Object { (Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup -Identity $_. Identity).RecipientFilter).Count -eq 0 } | Select-Object Name, PrimarySmtpAddress`.Ce n’est pas parfait, mais cela fonctionne pour les groupes statiques et dynamiques.

Comment trouver les groupes de distribution inactifs dans Exchange Server

C’est là que ça se complique. Exchange n’enregistre pas l’activité des groupes, sauf si vous consultez explicitement le suivi des messages. Or, cette information est en réalité très utile, car si aucun e-mail n’a été envoyé au groupe depuis un certain temps, il est possible que celui-ci soit inactif. L’intérêt ? Cela vous permet de trouver les groupes inactifs, en vous basant sur le trafic de messagerie plutôt que sur la simple liste des membres. En contrepartie, cela nécessite une analyse des journaux. Voici une méthode généralement efficace : utilisez la cmdlet `Get-MessageTrackingLog`.Vous pouvez ainsi analyser les journaux à la recherche des e-mails envoyés à un groupe au cours des 90 derniers jours environ. Par exemple : `powershell Get-MessageTrackingLog -Start (Get-Date).AddDays(-90) -ResultSize unlimited -Recipients « ` » | Mesurer-Objet Remplacer `avec l’adresse réelle. Si vous souhaitez connaître le nombre d’e-mails envoyés à différents groupes, vous pouvez exporter le rapport : `powershell Get-MessageTrackingLog -Start (Get-Date).AddDays(-90) -EventId Expand -ResultSize Unlimited | Sort-Object RelatedRecipientAddress | Group-Object RelatedRecipientAddress | Select-Object Name, Count | Export-CSV « active-dls.csv » -NoType`.Comparez ensuite ce rapport avec celui de tous vos groupes (éventuellement via les fichiers CSV) afin d’identifier les groupes n’ayant enregistré aucune activité. Par ailleurs, si vos journaux sont supprimés trop rapidement, vous pouvez augmenter la durée de conservation des journaux : `powershell Set-TransportService -Identity`.-MessageTrackingLogMaxAge 180.00:00:00 Remarque : plus il y a de serveurs avec un rôle de transport, plus vous devrez exécuter ces commandes individuellement.

Identifier les listes de distribution inactives dans Microsoft 365 (Exchange Online)

Dans le cloud, c’est un peu différent. Au lieu des journaux de messages, vous utilisez le suivi des messages dans le Centre d’administration Exchange ou PowerShell. Le problème : le suivi natif des messages ne couvre que 10 jours, ce qui est insuffisant pour les évaluations inactives. Son utilité : il permet de vérifier si un groupe a reçu des e-mails récemment, ce qui indique une activité au cours du dernier mois. Commencez par vous connecter à votre session PowerShell : `powershell Connect-ExchangeOnline`.Ensuite, pour consulter l’activité de messagerie, vous pouvez lancer une recherche historique : `powershell foreach ($group in Get-DistributionGroup) { Start-HistoricalSearch -ReportTitle $group. PrimarySmtpAddress ` -StartDate 04/20/2023 -EndDate 06/20/2023 ` -ReportType MessageTrace ` -RecipientAddress $group. PrimarySmtpAddress ` -NotifyAddress [email protected] }`.Remarque : cette commande est limitée à 250 recherches par période de 24 heures. Il est donc plus pratique de l’exécuter pour quelques groupes à la fois ou de l’automatiser. Une fois l’opération terminée, vérifiez les résultats : `powershell Get-HistoricalSearch « Global Admin DL »`.Si aucun rapport n’est trouvé ou si le nombre de lignes est nul, cela signifie probablement que personne n’a envoyé d’e-mail au groupe au cours des 90 derniers jours environ. Si le groupe semble inactif, vous pouvez le désactiver ou le supprimer. Vous pouvez également opter pour les groupes Microsoft 365, plus modernes et intégrant des statistiques d’activité.

Résumé

  • Vérifiez si les groupes sont vides avec `Get-DistributionGroup` + `Get-DistributionGroupMember`.
  • Consultez les journaux de messagerie pour vérifier si les groupes reçoivent toujours des messages, notamment sur le serveur Exchange.
  • Utilisez le suivi des messages ou les recherches historiques dans Microsoft 365 pour vérifier l’activité.
  • N’oubliez pas d’exporter et de comparer les listes, surtout si vous gérez des environnements importants.
  • La désactivation ou la suppression (via `Remove-DistributionGroup`) devrait être votre dernière étape après avoir confirmé l’inactivité.

Conclure

Supprimer les groupes Exchange inutilisés demande un peu d’efforts, mais ces méthodes facilitent grandement le repérage des groupes superflus. Sur certaines configurations, vous pourriez trouver des groupes vides, sans aucun membre ni adresse e-mail, pendant des mois : il est évident qu’ils ne sont plus nécessaires. Soyez prudent avant de les supprimer, surtout s’il s’agit de groupes dynamiques ou de ceux dont dépendent des sous-systèmes. Vérifiez toujours deux fois. Ces conseils devraient vous faire gagner un temps précieux. N’oubliez pas : effectuez d’abord une sauvegarde ou une exportation de vos listes, par précaution.