Je travaille actuellement dans un environnement "Foret de ressource - Foret d'utilisateur", ce qui passe par des LinkedMailbox. Ce type de boite aux lettres permet de faire résider la boite aux lettres dans une forêt différente du compte de l'utilisateur.

Lors d'un changement de type de BAL (LinkedMailbox -> Autre Mailbox ou opération inverse), il faut déconnecter systématiquement la boite aux lettres pour pouvoir la convertir. Cette opération est réalisable en powershell, mais le résultat est souvent frustrant car il faut attendre un certain delai pour que la réplication AD et mise à jour du cache Exchange permette la reconnexion de la BAL. On peut forcer cette mise à jour avec Clean-MailboxDatabase, qui va comparer les BAL physiques avec les comptes de l'annuaire, mais dans un environnement large, cela peut surcharger inutilement les serveurs alors qu'avec un peu de patience, cela se fait tout seul.

Voici un petit exemple de script pour pouvoir la réaliser, qui peut être adapté pour des besoins plus spécifique. Attention, le Disable-Mailbox fait sauter plusieurs attributs Exchange, en particulier tous les CustomAttribute!

Param(
parameter(Mandatory=$true)
String $user
)
Import-Module activedirectory
$mb = get-mailbox $user
Disable-Mailbox $mb
Write-Host "Merci d'attendre la mise à jour AD"
do { 
	start-sleep -Seconds 10
	Connect-Mailbox -Identity $mb.DisplayName -Database $mb.Database  -User ((Get-ADDomain).netbiosname+'\'+$mb.SamAccountName)
} while (!$?)