Skip to main content

Balancing / Dispersing Mailboxes between Exchange 2010 Databases

I recently needed a script that would balance mailboxes between databases. Similar scripts exist, but I wanted one that specifically met all of my requirements. This script is very simple, but does exactly what I need. For now at least…
My needs
  • The ability to maintain the number of users across an Exchange 2010 DAG with up to 30,000 users. Size of the mailboxes wasn’t that important as there is only one quota across all mailboxes.
  • The ability to exclude certain mailboxes, in my case Symantec Enterprise Vault Archiving Mailboxes.
  • The ability for the script to be scheduled with ease. A lot of the scripts that exist, generate a “move list”, I didn’t want that.
  • E-Mail status reports after processing.
The script will discover the number of users, then discover the number of databases. It will then find the optimum number of users per database and create a move request ensuring that all but one of the databases contain the same number of users. It will then send an e-mail detailing what it’s done.
There script will skip mailboxes with a display name beginning with “GIG_EVMailbox” you can change that string to skip what you need it to skip.
The script in action
The Powershell script is available here…. .
I hope you find it useful.


Unknown said…

the link isn't valid anymore, would you please be so kind and share it with me? thx!


Popular posts from this blog

Convert Linked Mailboxes to User Mailboxes in Bulk

My organisation has gone through a massive migration project to unify Active Directories and Exchange organisations. As a result of these migrations a lot of mailbox migrations have resulted in a lot of mailboxes ending up as linked mailboxes even though their not. The official TechNet article on this explains how to disconnect the mailbox and re-attach it to the user account correctly as a user mailbox. Another way to make this appear to be corrected is to manually change the “Recipient Type” AD property on the affected mailboxes. This though, is unsupported. Using the official method from Microsoft results in the loss of any specific mailbox information such as SMTP, x400 & x500 addresses, mailbox sizes and any other individual mailbox settings. Only e-mail addresses and mailbox sizes were important to me (I must admit, I forgot about mailbox sizes at first). I came up with the script below that would properly con

Upgrading Exchange 2007 Clusters to SP2 – Workaround

I posted last month about a problem delegating installs of Exchange 2007 SP2. Delegated Admins will receive an error message stating the following… You must be a member of the 'Exchange Organization Administrators' or 'Enterprise Administrators' group to continue. Have been looking into the issue and have had a case open with Microsoft. Turns out that you only get this issue on a fully patched server. If you try upgrading or installing as a delegated admin on a fresh install of either server 2008 or 2003 you don’t see the problem either with Exchange SP1 or SP2. I haven’t had time to identify exactly what patch causes this yet, if I’ll bother at all. If you have patched your server though, MS came up with this workaround. Disable update checking for the BPA by heading into the registry and HKCU\Software\Microsoft\Exchange\ExBPA and either creating or modifying a DWORD named “VersionCheckAlways” and set it to ‘0’ Copy the installation files to a local drive and replace S

Creating a Windows PE 3 Bootable USB device

I’ve used Windows PE for a long time. And I’ve grown to love it. It’s an extremely useful tool, not just for OS installation, but for diagnostics. Since there’s a version of WinPe for x64 & x86 (& itanium) I like to keep both x64 & x86 on my USB stick. Essentially copying the each version to the root of the USB stick as needed. Meaning at any one time I have three copies of WinPE on my USB stick. Other applications I copy directly to my USB stick, so that I don’t have to remount the image every time i need another application added. Shortly after Windows 7 was released came a new version of WinPE, WinPE 3.0 on the Windows Automated Installation Kit. Preparing the USB stick. You’ll need to prepare the USB stick. To do this open a command prompt using Run As Administrator and use the following commands. diskpart list disk select disk 7 clean create partition primary select partition 1 active format quick fs=fat32 assi