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 « `
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.