Exchange 2010 enthält mächtige Funktionen zur Auswertung der Mailbox-Datenbanken. Leider sind diese nur über die PowerShell zugänglich. Als Merker für mich und alle anderen daher hier zwei Kommandos zur schnellen Auswertung von Mailbox-Größen.
Als erstes die Gesamtgröße aller Mailboxen. Das Kommando ruft die Mailbox-Statistiken für alle Postfächer auf und gibt die Summe, den Durchschnitt, das Maximum sowie das Minimum für die Volumina in Megabytes aus:
Get-MailboxStatistics -Server MSX01 | %{$_.TotalItemSize.Value.ToMB()} | Measure-Object -sum -average -max -min
Wichtig: Dieses Kommando zählt alle Mailboxen auf einem Server. Statt “MSX01” ist der Servername anzugeben. Möchte man eine bestimmte Datenbank auswerten, so ändert man das Kommando in:
Get-MailboxDatabase "Mailbox Database 01" | Get-MailboxStatistics | %{$_.TotalItemSize.Value.ToMB()} | Measure-Object -sum -average -max -min
Hierbei ist dann “Mailbox Database 01” der Name der betreffenden Datenbank.
Sodann eine Liste aller Mailboxen mit der jeweiligen Größe. Hier eignet sich folgende Zeile, die das normale Ergebnis von “Get-MailboxStatistics” passend umformatiert.
Get-MailboxStatistics -Server MSX01 | where {$_.ObjectClass –eq "Mailbox"} | Sort-Object TotalItemSize –Descending | ft @{label="User";expression={$_.DisplayName}},@{label="Total Size (MB)";expression={$_.TotalItemSize.Value.ToMB()}},@{label="Items";expression={$_.ItemCount}},@{label="Storage Limit";expression={$_.StorageLimitStatus}} -auto
Hier gilt dasselbe: Soll es wieder nur eine Statistik über eine einzelne Datenbank sein, so nutze man:
Get-MailboxDatabase "Mailbox Database 01" | Get-Mailbox | Get-MailboxStatistics | where {$_.ObjectClass –eq "Mailbox"} | Sort-Object TotalItemSize –Descending | ft @{label="User";expression={$_.DisplayName}},@{label="Total Size (MB)";expression={$_.TotalItemSize.Value.ToMB()}},@{label="Items";expression={$_.ItemCount}},@{label="Storage Limit";expression={$_.StorageLimitStatus}} -Auto
Achtung: In der ursprünglichen Fassung des Kommandos auf dieser Seite war ein Fehler, durch den der Filter auf die Mailbox-Datenbank nicht funktionierte. Mit dem neuen Zwischenschritt „Get-Mailbox“ funktioniert es nun.
Ehre, wem Ehre gebührt: Die Skripte habe ich mir nicht selbst erarbeitet, sondern abgekupfert, und zwar hier:
[Getting Mailbox Sizes in PowerShell]
http://www.petri.co.il/getting-mailbox-sizes-in-powershell.htm
[How to Calculate Exchange 2010 Mailbox Sizes with PowerShell]
http://blog.globalpointllc.com/2011/08/23/calculate-exchange-2010-mailbox-sizes-powershell/
http://faq-o-matic.net/?p=3760