Brian asked in the comments: "... I am looking for a monad scipt/command that will allow me to sort user on e2k3 by size then move either the top or bottom X number of users..."

Try this on Exchange 2007, for 2003, you can use get-wmiobject cmdlet to read Exchange 2003 information using WMI. This is how you would get the top X users per server (you can optionally do this per database by passing in -database to get-mailboxstatistics):

get-mailboxstatistics -server Myserver | sort TotalItemSize -desc | select -first 10

Then you can move this list directly using move-mailbox:

get-mailboxstatistics -server Myserver | sort TotalItemSize -desc | select -first 10 | move-mailbox -target Server2\DataBase2

For 2003, its a bit more complicated as we don't have cmdlets for 2003, but fortunately you can use the excellent WMI compatability in PowerShell to read Exchange information. For example:

 get-wmiobject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName MyServer | sort Size

This will return a list of mailboxes, which is then sorted, then you can apply the same tricks as before. The one big difference is that since we're dealing with WMI objects (as compared to get-mailboxstatistics objects as in Exchange 2007), you'll have to tweak the pipeline to make things work for moves:

get-wmiobject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName MyServer | sort Size -desc | select -first 10 | foreach { move-mailbox $_.LegacyDN -targetdatabase server2\database2 }

Now, a caveat.... I believe this should work but having upgraded all my servers to 2007, I can't quite test it :) Also, please refer to this post by Glen for more information. I believe I've given enough data to point you all in the right direction, so give it a shot and play around with it. Remember, you can always use -whatif and -validate in move-mailbox, which means you can run the commands without any fear :)