Exchange : comment lister les boîtes aux lettres par taille ?

I. Présentation

Sur un serveur Exchange, on peut obtenir facilement la taille du fichier EDB correspondant à la base de données qui regroupe l'ensemble des boites aux lettres. En revanche, pour lister les boîtes aux lettres en indiquant à chaque fois la taille de la BAL, c'est moins simple, enfin bon il suffit d'avoir la commande magique qui va permettre d'obtenir cette liste !

C'est ce que nous allons voir dans ce tutoriel à l'aide d'Exchange Management Shell car la Console de gestion Exchange ne permet pas d'obtenir cette information à moins de passer dans les propriétés de chaque BAL.

Note : la commande utilisée dans ce tutoriel fonctionne également sur Microsoft 365 / Office 365 avec Exchange Online.

II. Lister les BAL Exchange par taille

Sur votre serveur Exchange, commencez par lancer l'Exchange Management Shell pour que l'on puisse utiliser les commandes PowerShell associées 😉 - Si vous êtes sur Exchange Online, ouvrez une console PowerShell et initiez une connexion aux services de messagerie Office 365 comme expliqué dans cet article : Connexion Exchange Online

Ensuite, nous allons utiliser deux commandes. Premièrement, Get-Mail pour récupérer l'ensemble des boîtes aux lettres (-ResultSize Unlimited) et Get-MailboxStatistics pour récupérer des infos notamment la taille de la BAL, pour chacune des BALs référencées sur l'Exchange.

Pour que la sortie soit parlante, on va effectuer un tri décroissant sur la taille grâce à la propriété TotalItemSize via Sort-Object. Enfin, pour la sortie on affichera seulement deux propriétés : DisplayName et TotalItemSize, autrement dit le nom de la personne et la taille de la boîte.

Ce qui donne :

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName, TotalItemSize

Voici un exemple de sortie :

Si l'on veut afficher seulement le Top 10 des boîtes aux lettres les plus grosses, il ne faut pas modifier la valeur de -ResultSize car nous souhaitons trouver le Top 10 parmi toutes les BALs.... On va limiter le nombre de résultats affichés directement dans Select-Object en ajoutant le paramètre "-First 10".

Ce qui donne :

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName, TotalItemSize -First 10

Bien sûr, vous pouvez remplacer "10" par le nombre de votre choix. A vous de jouer !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5500.Voir tous les posts

8 thoughts on “Exchange : comment lister les boîtes aux lettres par taille ?

  • Bonjour,

    ce script est très utile.
    est-il possible de le scheduler pour mettre le resultat dans un fichier et l’envoyer par mail ?
    J’ai fait plusieurs tests KO

    Dans le tâche je lance c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe et en argument
    le chemin du script suivi du -sendmail

    d’avance merci

    Richard

    Répondre
    • je pense qu’il faut ajouter cette commande en début de script pour être en environnment exchange
      Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

      Répondre
    • Bonjour,

      Si vous avez réussi ou toujours des traces, est-il possible de m’envoyer ce script?
      Merci

      Répondre
    • Bonjour,
      Si votre script est toujours d’actualité, est t’il possible de me l’envoyer ?
      Merci

      Répondre
  • Merci pour l’info
    Peut on avoir également affiché la base de données où se trouvent ces bals si plusieurs BdD il y a?
    Merci

    Répondre
    • Hello,
      Là je n’ai pas d’Exchange sous la main pour checker, mais, si tu fais la commande ci-dessous tu n’as pas une propriété « database » qui ressort ?
      Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | gm

      Bonne journée
      Florian

      Répondre
  • La recherche me retourne le message « WARNING: Les résultats disponibles sont plus nombreux que ceux actuellement affichés. Pour afficher tous les résultats, augmentez la valeur du paramètre ResultSize »
    Mon entreprise contenant plus de 2000 utilisateurs, savez vous comment je je contourner la limite des 1000 resultats maximum ?

    Répondre
  • Bonjour,

    Je souhaiterai savoir, qu’elle est la commande pour supprimer des mails dans un dossier d’une BAL d’un utilisateur.
    Merci

    Répondre

Répondre à richard Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.