(modifié le 27 juin 2018 à 16:31)

Il peut être intéressant de connaître le nombre de BAL (boites aux lettres) hébergées sur chaque banque de données (database) Microsoft Exchange.

Non seulement pour équilibrer la charge mais aussi dans la cadre d'une migration d'une version Exchange vers une version supérieure (2010 vers 2016 par exemple).

En PowerShell

C'est bien sûr en PowerShell que je vous propose une solution.

Voici la commande à lancer depuis l'Exchange management Shell :

Get-Mailbox -ResultSize Unlimited | Group-Object -Property Database | Select-Object Name,Count | Sort-Object Name | ft -auto

Cette commande peut prendre du temps car elle va parcourir chaque BAL et récupérer le nom de la banque de données qui l'héberge.

Voici un exemple de résultat :

Name          Count
----          -----
BM2016-DB-01 149
BM2016-DB-02 177
BM2010-DB01 23
BM2010-DB02 31
BM2010-DB03 8

De mon côté j'ai testé cette commande avec Exchange 2016, elle fonctionne aussi avec Exchange 2010 et Exchange 2013.

Cette commande retourne tous les objets, qu'il s'agisse de BAL, de groupes de distributions, etc.

Pour ne retourner que les BAL :

Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientTypeDetails -eq "UserMailbox"} | Group-Object -Property Database | Select-Object Name,Count | Sort-Object Name | ft -auto

ou plus simple avec RecipientTypeDetails :

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Group-Object -Property Database | Select-Object Name,Count | Sort-Object Name | ft -auto

Simple et efficace, en complément de ce billet.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter