Submitted By: Umesh Chandra Thakur

Displays all Exchange recipients whose mailbox size is greater than specified amount (in KB).

Visual Basic
Edit|Remove
strComputer = "."
intMailboxSize = 2048 'size in KB, all recipient who exceeds this amount will be displayed

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & _
        "\ROOT\MicrosoftExchangeV2")

Set colItems = objWMIService.ExecQuery("Select * from Exchange_Mailbox where size > " & intMailboxSize)
if colItems.count = 0 then 'no recipients were found
	wscript.echo "No items were found"
	wscript.quit
end if

mbs_len = len("MAILBOX SIZE(KB)")
mbdn_len = len("MAILBOX DISPLAY NAME")
wscript.echo "MAILBOX DISPLAY NAME" & space(30 - mbdn_len) & "MAILBOX SIZE(KB)"

For Each objItem in colItems
	if 	len(objItem.MailboxDisplayName) > 30 then
		padding = 0
		Wscript.stdOut.write left(objItem.MailboxDisplayName,27) & "..." & space(padding)
	else
		padding = 30 - len(objItem.MailboxDisplayName)
		Wscript.stdOut.write objItem.MailboxDisplayName & space(padding)
	end if
	Wscript.stdOut.write space(mbs_len - len(cstr(objItem.Size))) & objItem.Size
	wscript.echo
next