So with IDM 4.x AD driver shim, if you have the proper PowerShell agent
installed on your remote loader, and set the GCV's appropriate you can
provision Exchange mailboxes.

Really, the shim, converts the attribute homeMBD events to Powershell

Enable-Mailbox: -Identity, -Alias, -Database -DomainController
Disable-Mailbox: Identity, -DomainController, -Confirm
New-MoveRequest: -Identity, -TargetDatabase, -DomainController, -Confirm

add-value is Enable Mailbox
remove-value is disable mailbox.
remove + add in one event is move mailbox.

If you pass a homeMDB value of 'defer' then the command is issued with a
-Database of null, which is how Exchange triggers load balancing.

The load balancing is JUST random, not based on busiest, fullest (users
or disk space), just random. Lousy, but good enough. Also means a new
MDB will not fill up preferentially, rather it will just get randomly
chosen, so weak model.

But the Technet article notes that the group of MDB's chosen is based on
healthy MDBs, non-excluded, and in the same site.

What defines the current site, so it can chose from within that same site?

Is it where the machine running the Enable-Mailbox command is run? That
machine must be in the AD site (which is based on subnets mostly) which
holds the Exchange servers hosting the mail databases?

Is it the -DomainController parameter (Which I assume picks it up from
the DC that driver starts up with, whether Auth context is null and
running on a DC, or specified on a Member server).

We have a case with many AD sites. Exchange in two different sites. We
only want to load balance in one site. What do we need to do to make
our powershell calls, happen from the correct site?