5.8. Determining the Size of a Mailbox
Problem
You want information about how many items are in a mailbox and how much space it occupies.
Solution
Using a graphical user interface
Open the Exchange System Manager (Exchange System Manager.msc).
In the left pane, expand the appropriate Administrative Groups container, and then expand the Servers container.
Expand the storage group and database that hold the target mailbox.
Select the Mailboxes node under the mailbox store object.
Check the Size (KB) and Total Items columns in the right ESM pane. (If any of these columns are not visible, use the View→ Add/Remove Columns command to make them appear.)
Using VBScript
' This code lists the size of all mailboxes on the selected server.
' ------ SCRIPT CONFIGURATION ------
strComputerName = "<ServerName>" ' e.g., batman
strE2K3WMIQuery = "winmgmts://" & strComputerName &_
"/root/MicrosoftExchangeV2"
' ------ END CONFIGURATION ---------
' Find each mailbox on the target server and report their
' item counts and sizes
Set mboxList = GetObject(strE2K3WMIQuery).InstancesOf("Exchange_Mailbox")
For each mailbox in mboxList
strOutput = ""
strOutput = "Mailbox: " & mailbox.MailboxDisplayName & vbCRLF
strOutput = strOutput & " " & mailbox.Size & "KB in " &_
mailbox.TotalItems & " items" & vbCRLF
WScript.Echo strOutput
NextDiscussion
The code to find mailbox size is very similar to the code used to retrieve access and logon information. The mailbox size and item count are directly exposed via WMI in Exchange ...