Déplacer des boîtes aux lettres à l'aide du Script MoveMailbox.ps1 dans le shell

 

S’applique à : Exchange Server 2010 SP2, Exchange Server 2010 SP3

Dernière rubrique modifiée : 2015-03-09

Semblable à la cmdlet Move-Mailbox dans Microsoft Exchange Server 2007, le script MoveMailbox.ps1 offre un environnement de gestion synchrone pour le déplacement des boîtes aux lettres. Par défaut, les scripts sont installés dans C:\Program Files\Microsoft\Exchange Server\V14\Scripts.

RemarqueRemarque :
Vous pouvez utiliser ce script pour les déplacements locaux uniquement. Vous ne pouvez pas utiliser ce script pour les déplacements (entre forêts) distants. Pour plus d’informations sur les déplacements de boîtes aux lettres à distance, voir Préparer les boîtes aux lettres pour les demandes de déplacement inter-forêts.

MoveMailbox.ps1 effectue les tâches suivantes :

  1. Crée une demande de déplacement local.

  2. Attend que le déplacement de boîte aux lettres soit terminé.

  3. Efface la demande de déplacement une fois l’opération terminée.

MoveMailbox.ps1 inclut deux jeux de paramètres. Le premier jeu de paramètre déplace une boîte aux lettres unique. Vous pouvez également mettre en pipeline les boîtes aux lettres dans la commande. Le deuxième jeu de paramètres déplace toutes les boîtes aux lettres hébergées sur une base de données spécifiée ou vous pouvez mettre en pipeline les objets de base de données dans la commande pour déplacer toutes les boîtes aux lettres qui se trouvent dans des bases de données de boîtes aux lettres.

RemarqueRemarque :
L’environnement de ligne de commande Exchange Management Shell ne charge pas automatiquement des scripts. Vous devez faire précéder tous les scripts de « .\ ». Par exemple, pour exécuter le script, tapez .\MoveMailbox.ps1.

Pour plus d’informations sur l’utilisation et l’écriture de scripts, voir Scripts dans Exchange Management Shell.

Souhaitez-vous rechercher les autres tâches de gestion relatives aux demandes de déplacement ? Consultez la rubrique Gestion des demandes de déplacement.

Utilisation de MoveMailbox.ps1 pour déplacer des boîtes aux lettres spécifiques

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour voir les autorisations qui vous sont nécessaires, voir Entrée « Déplacements de boîtes aux lettres » dans la rubrique Autorisations de boîtes aux lettres.

Le tableau et le jeu de syntaxe des paramètres suivants répertorient les paramètres que vous pouvez utiliser pour déplacer les boîtes aux lettres spécifiques.

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
Paramètre Obligatoire Description

DatabaseMap

Obligatoire

Le paramètre DatabaseMap indique le mappage des déplacements entre les bases de données. Utilisez ce paramètre si vous utilisez la méthode de pipeline pour identifier les boîtes aux lettres vers lesquelles vous effectuez les déplacements. Le paramètre DatabaseMap requiert les éléments suivants :

  • Utilisez la syntaxe suivante : @{"<SourceDatabase>"="<TargetDatabase>"}

  • Le nom SourceDatabase doit correspondre au nom de la base de données reportée par la cmdlet Get-Mailbox.

  • Vous pouvez inclure plusieurs mappages de base de données. Séparez plusieurs mappages par un point-virgule (;), par exemple, @{"DB1"="DBA";"DB2"="DBB"}

RemarqueRemarque :
Vous ne pouvez pas utiliser ce paramètre en association avec le paramètre TargetDatabase. Si vous mettez en pipeline la commande et qu’un utilisateur fait correspondre l’identité dans la cmdlet Get-Mailbox mais qu’il ne fait pas correspondre la base de données source dans la cmdlet DatabaseMap, la boîte aux lettres de cet utilisateur sera ignorée.

Identity

Obligatoire

Le paramètre Identity spécifie l’identité de la boîte aux lettres que vous souhaitez déplacer. Ce paramètre accepte les valeurs suivantes :

  • ADObjectID

  • Alias

  • Nom unique (DN)

  • Domaine\Compte

  • GUID

  • LegacyExchangeDN

  • SmtpAddress

  • Nom d’utilisateur principal (UPN)

RemarqueRemarque :
Vous pouvez mettre en pipeline le paramètre Identity en utilisant la cmdlet Get-Mailbox.

TargetDatabase

Obligatoire

Le paramètre TargetDatabase spécifie l’identité de la base de données vers laquelle vous déplacez la boîte aux lettres. Ce paramètre accepte les valeurs suivantes :

  • GUID

  • Nom unique (DN)

  • Serveur\nom de base de données

  • Nom de la base de données

RemarqueRemarque :
Vous ne pouvez pas utiliser ce paramètre en association avec le paramètre DatabaseMap.

AutoSuspend

Facultatif

Le commutateur AutoSuspend spécifie s’il faut suspendre la demande de déplacement avant qu’elle atteigne l’état CompletionInProgress. Une fois le déplacement suspendu, il passe à l’état AutoSuspended. Si vous utilisez ce paramètre, vous devez effectuer le déplacement en utilisant la cmdlet Resume-MoveRequest.

BadItemLimit

Facultatif

Le paramètre BadItemLimit spécifie le nombre d’éléments incorrects à ignorer si la demande de déplacement rencontre des éléments incorrects dans la boîte aux lettres. Utilisez la valeur 0 si vous ne souhaitez pas ignorer les éléments incorrects. Cliquez sur -1 pour ignorer un nombre illimité d’éléments incorrects. La plage d’entrées valide pour ce paramètre s’étend de -1 à 2,147,483,647. La valeur par défaut est 0. Il est recommandé de conserver la valeur par défaut 0 et de modifier la valeur du paramètre BadItemLimit uniquement si la demande de déplacement échoue.

DomainController

Facultatif

Le paramètre DomainController spécifie le nom de domaine complet (FQDN) du contrôleur de domaine qui écrit ce changement de configuration dans Active Directory.

PollInterval

Facultatif

Le paramètre PollInterval indique, en secondes, le temps passé à attendre avant de vérifier si une demande de déplacement est terminée. Par exemple, si PollInterval est défini à 180, le script MoveMailbox.ps1 vérifie l’état des demandes de déplacement toutes les 3 minutes pour voir si le déplacement comporte l’état Terminé. Le délai par défaut est 10 secondes.

StartBatchSize

Facultatif

Le paramètre StartBatchSize indique la fréquence de déplacement des boîtes aux lettres à des fins d’équilibrage de charge. Le paramètre s’applique uniquement lors du déplacement de plusieurs boîtes aux lettres à la fois. Par exemple, si ce paramètre est défini à 10 et que vous déplacez 15 boîtes aux lettres, le script utilise la cmdlet New-MoveRequest lorsqu’il constate que 10 boîtes aux lettres sont en cours de déplacement vers la même base de données cible.

Exemples

EXEMPLE 1

Cet exemple montre comment déplacer les boîtes aux lettres qui commencent par « ay ». Si ces boîtes aux lettres se trouvent dans la base de données de boîtes aux lettres DB1, cet exemple utilise le paramètre DatabaseMap pour les déplacer dans la base de données de boîtes aux lettres DBA (Dynamic Buffer Allocation). Si ces boîtes aux lettres se trouvent dans DB2, cet exemple montre comment les déplacer dans la base de données de boîtes aux lettres DBB.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

EXEMPLE 2

Cet exemple montre comment déplacer la boîte aux lettres de Jean-Charles Colon vers DB2.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

Utilisation de MoveMailbox.ps1 pour déplacer des boîtes aux lettres hébergées dans une base de données spécifique

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour voir les autorisations qui vous sont nécessaires, voir Entrée « Déplacements de boîtes aux lettres » dans la rubrique Autorisations de boîtes aux lettres.

Le tableau et le jeu de syntaxe des paramètres suivants répertorient les paramètres qui déplacent les boîtes aux lettres basées sur la base de données.

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

Paramètre

Obligatoire

Description

MailboxDatabase

Obligatoire

Le paramètre MailboxDatabase spécifie la base de données à partir de laquelle vous déplacez la boîte aux lettres.

Ce paramètre accepte les valeurs suivantes :

  • GUID

  • Nom unique (DN)

  • Serveur\nom de base de données

  • Nom de la base de données

RemarqueRemarque :
Vous ne pouvez pas utiliser ce paramètre en association avec le paramètre DatabaseMap.

AutoSuspend

Facultatif

Le commutateur AutoSuspend spécifie s’il faut suspendre la demande de déplacement avant qu’elle atteigne l’état CompletionInProgress. Une fois le déplacement suspendu, il passe à l’état AutoSuspended. Si vous utilisez ce paramètre, vous devez effectuer le déplacement en utilisant la cmdlet Resume-MoveRequest.

BadItemLimit

Facultatif

Le paramètre BadItemLimit spécifie le nombre d’éléments incorrects à ignorer si la demande de déplacement rencontre des éléments incorrects dans la boîte aux lettres. Utilisez la valeur 0 si vous ne souhaitez pas ignorer les éléments incorrects. Utilisez la valeur -1 pour ignorer un nombre illimité d’éléments incorrects. La plage d’entrées valide pour ce paramètre s’étend de -1 à 2,147,483,647. La valeur par défaut est 0. Il est recommandé de conserver la valeur par défaut 0 et de modifier la valeur du paramètre BadItemLimit uniquement si la demande de déplacement échoue.

DatabaseMap

Facultatif

Le paramètre DatabaseMap indique le mappage des déplacements entre les bases de données. Utilisez ce paramètre si vous utilisez la méthode de pipeline pour identifier les boîtes aux lettres vers lesquelles vous effectuez les déplacements. Le paramètre DatabaseMap requiert les éléments suivants :

  • Utilisez la syntaxe suivante : @{"<SourceDatabase>"="<TargetDatabase>"}

  • Le nom SourceDatabase doit correspondre au nom de la base de données reportée par la cmdlet Get-Mailbox.

  • Vous pouvez inclure plusieurs mappages de base de données. Séparez plusieurs mappages par un point-virgule (;), par exemple, @{"DB1"="DBA";"DB2"="DBB"}

RemarqueRemarque :
Vous ne pouvez pas utiliser ce paramètre en association avec le paramètre TargetDatabase. Si vous mettez en pipeline la commande et qu’un utilisateur fait correspondre l’identité dans la cmdlet Get-Mailbox mais qu’il ne fait pas correspondre la base de données source dans la cmdlet DatabaseMap, la boîte aux lettres de cet utilisateur sera ignorée.

DomainController

Facultatif

Le paramètre DomainController spécifie le nom de domaine complet (FQDN) du contrôleur de domaine qui écrit ce changement de configuration dans Active Directory.

PollInterval

Facultatif

Le paramètre PollInterval indique, en secondes, le temps passé à attendre avant de vérifier si une demande de déplacement est terminée. Par exemple, si PollInterval est défini à 180, le script MoveMailbox.ps1 vérifie l’état des demandes de déplacement toutes les 3 minutes pour voir si le déplacement comporte l’état Terminé. Le délai par défaut est 10 secondes.

StartBatchSize

Facultatif

Le paramètre StartBatchSize indique la fréquence de déplacement des boîtes aux lettres à des fins d’équilibrage de charge. Le paramètre s’applique uniquement lors du déplacement de plusieurs boîtes aux lettres à la fois. Par exemple, si ce paramètre est défini à 10 et que vous déplacez 15 boîtes aux lettres, le script utilise la cmdlet New-MoveRequest lorsqu’il constate que 10 boîtes aux lettres sont en cours de déplacement vers la même base de données cible.

TargetDatabase

Facultatif

Le paramètre TargetDatabase spécifie l’identité de la base de données vers laquelle vous déplacez la boîte aux lettres. Ce paramètre accepte les valeurs suivantes :

  • GUID

  • Nom unique (DN)

  • Serveur\nom de base de données

  • Nom de la base de données

RemarqueRemarque :
Vous ne pouvez pas utiliser ce paramètre en association avec le paramètre DatabaseMap.

Exemples

EXEMPLE 1

Cet exemple montre comment déplacer toutes les boîtes aux lettres de la base de données DB1 vers la base de données DB2.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

EXEMPLE 2

Cet exemple utilise la cmdlet Get-MailboxDatabase pour récupérer tous les objets de la base de données de boîtes aux lettres dont la base de données commence par « DB1 », puis met en pipeline le résultat dans le script MoveMailbox.ps1.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}

 © 2010 Microsoft Corporation. Tous droits réservés.