Recipe5.8.Determining the Size of a Mailbox


Recipe 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

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container, and then expand the Servers container.

  3. Expand the storage group and database that hold the target mailbox.

  4. Select the Mailboxes node under the mailbox store object.

  5. 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  Next

Discussion

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 Server 2003, so they're easy to get. Unfortunately, if you want to get the same information without WMI, you're consigned to using MAPI: you'll need to write a script that locates all the mailboxes (easy, given what you've learned in this chapter), then logs on to each one using MAPI to retrieve the mailbox size and item count properties. There are two big problems with this approach: one is that logging in updates the last logon time and user, and the other is that you have to run such a script with an account that has read access to all the mailboxes you're scanning. For those reasons, we haven't included the script here.

See Also

Recipe 5.7 for getting mailbox logon information and MSDN: Exchange_Mailbox class



Exchange Server Cookbook
Exchange Server Cookbook: For Exchange Server 2003 and Exchange 2000 Server
ISBN: 0596007175
EAN: 2147483647
Year: 2006
Pages: 235

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net