Préparer des boîtes aux lettres pour des déplacements inter-forêts à l’aide du script Prepare-MoveRequest.ps1 dans l’environnement de ligne de commande Exchange Management Shell

S’applique à : Exchange Server 2013

Résumé: Découvrez comment gérer les déplacements et migrations de boîtes aux lettres entre forêts dans Exchange 2013 à l’aide du script Prepare-MoveRequest.ps1 dans Exchange Management Shell.

Microsoft Exchange 2013 prend en charge les migrations et les déplacements de boîtes aux lettres à l'aide des cmdlets New-MoveRequest et New-MigrationBatch. Vous pouvez également déplacer la boîte aux lettres via le Centre d'administration Exchange (CAE). Vous pouvez déplacer une boîte aux lettres Exchange 2010 ou Exchange 2013 d’une forêt Exchange source vers une forêt Exchange 2013 cible.

Pour exécuter les cmdlets New-MoveRequest et New-MigrationBatch, un utilisateur de messagerie doit exister dans la forêt Exchange cible et disposer d'un ensemble d'attributs Active Directory obligatoires minimum.

Le script Windows PowerShell décrit en exemple dans cette rubrique prend en charge cette tâche en synchronisant les utilisateurs de boîtes aux lettres d'une forêt source Exchange 2013 avec des forêts cibles Exchange 2013 en tant qu'utilisateurs à extension messagerie. Le script copie les attributs Active Directory des utilisateurs de boîtes aux lettres de la forêt source vers la forêt cible, puis utilise la cmdlet Update-Recipient pour changer les objets cibles en utilisateurs à extension messagerie.

Pour plus d'informations sur l'utilisation et l'écriture de scripts, voir Scripting with the Exchange Management Shell. Pour plus d'informations sur la préparation pour les déplacements inter-forêts, voir Préparer les boîtes aux lettres pour les demandes de déplacement inter-forêts.

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

Ce qu'il faut savoir avant de commencer

  • Recherchez le script à l’emplacement suivant : %ExchangeInstallPath%Scripts

  • Pour exécuter l'exemple de script, vous avez besoin des éléments suivants :

    • Forêt source Exchange, où se trouve actuellement la boîte aux lettres. Il peut s’agir d’une boîte aux lettres Exchange 2010 ou Exchange 2013.

    • Une forêt cible dans laquelle Exchange 2013 est installé, à l'endroit où la boîte aux lettres sera déplacée.

Conseil

Vous rencontrez des difficultés ? Demandez de l’aide en participant aux forums Exchange. Visitez les forums de Exchange Server.

Utiliser le script Prepare-MoveRequest.ps1 pour préparer les boîtes aux lettres en vue de déplacements inter-forêts

Exécutez le script depuis l'environnement de ligne de commande sur un rôle serveur exécutant Exchange 2013 dans la forêt Exchange 2013 cible. Le script copie les attributs de boîte aux lettres à partir de la forêt source.

Pour affecter des informations spécifiques d'identification d'authentification pour le contrôleur de domaine de forêt distant, vous devez tout d'abord exécuter la cmdlet Windows PowerShell Get-Credential, puis stocker l'entrée de l'utilisateur dans une variable temporaire. Lorsque vous exécutez la cmdlet Get-Credential, celle-ci demande le nom d'utilisateur et le mot de passe du compte utilisé durant l'authentification auprès du contrôleur de domaine de forêt distant. Vous pouvez ensuite utiliser la variable temporaire dans le script Prepare-MoveRequest.ps1. Pour plus d'informations à propos de la cmdlet Get-Credential, voir Get-Credential.

Remarque

Assurez-vous d'utiliser deux informations d'identification distinctes pour la forêt locale et la forêt distante lors de l'appel de ce script.

  1. Exécutez les commandes suivantes pour obtenir les informations d'identification de la forêt locale et de la forêt distante.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. Exécutez les commandes pour transmettre les informations d’identification aux paramètres LocalForestCredential et RemoteForestCredential dans le script Prepare-MoveRequest.ps1.

    Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials
    

Ensemble des paramètres du script

Le tableau suivant décrit l’ensemble des paramètres associés au script.

Ensemble de paramètres du script Prepare-MoveRequest.ps1

Paramètre Obligatoire Description
Identité Requis Le paramètre Identity identifie de manière unique une boîte aux lettres dans la forêt source. L'identité peut être :
  • Nom commun (CN)
  • Alias
  • Propriété proxyAddress
  • Propriété objectGuid
  • Propriété DisplayName
RemoteForestCredential Requis Le paramètre RemoteForestCredential spécifie l’administrateur qui dispose des autorisations nécessaires pour copier des données à partir de la forêt source Active Directory.
RemoteForestDomainController Requis Le paramètre RemoteForestDomainController spécifie un contrôleur de domaine dans la forêt source où réside la boîte aux lettres.
DisableEmailAddressPolicy Facultatif Le paramètre DisableEmailAddressPolicy spécifie si la stratégie d’adresse Email (EAP) doit être désactivée lors de la création d’un objet MailUser dans la forêt cible.

Lorsque vous spécifiez ce paramètre, l'EAP dans la forêt cible ne sera pas appliqué.

Remarque : Lorsque vous spécifiez ce paramètre, l’objet MailUser n’a pas de mappage d’adresse de messagerie dans le domaine de forêt local estampillé. Ceci est généralement identifié par l'EAP.
LinkedMailUser Facultatif Le commutateur LinkedMailUser spécifie s’il faut créer un MailUser lié dans la forêt locale pour l’utilisateur de boîte aux lettres dans la forêt distante.

Si le commutateur est fourni, le script crée un objet MailUser cible lié à la boîte aux lettres source. Si le commutateur est omis, le script crée un objet MailUser cible ordinaire.
LocalForestCredential Facultatif Le paramètre LocalForestCredential spécifie l’administrateur disposant des autorisations nécessaires pour écrire des données dans la forêt cible Active Directory.

Il est conseillé de spécifier explicitement ce paramètre pour éviter les problèmes d'autorisation Active Directory.

Si une relation d'approbation est configurée sur la forêt distante et la forêt locale, n'utilisez pas de compte utilisateur de la forêt distante en tant qu'information d'identification de forêt locale, même si l'utilisateur distant pourrait avoir l'autorisation de modifier Active Directory dans la forêt locale.
LocalForestDomainController Facultatif Le paramètre LocalForestDomainController spécifie un contrôleur de domaine dans la forêt cible où l’utilisateur à extension messagerie sera créé.

Il est conseillé de spécifier ce paramètre pour éviter les éventuels problèmes de retard de réplication de contrôleur de domaine dans la forêt locale qui pourraient se produire si un contrôleur de domaine aléatoire est sélectionné.
MailboxDeliveryDomain Facultatif Le paramètre MailboxDeliveryDomain spécifie un domaine faisant autorité de la forêt source afin que le script puisse sélectionner la propriété proxyAddress de la boîte aux lettres source correcte comme propriété targetAddress de l’utilisateur à extension messagerie cible.

Par défaut, l'adresse SMTP principale de l'utilisateur de boîte aux lettres source est définie comme la propriété targetAddress de l'utilisateur à extension messagerie cible.
OverWriteLocalObject Facultatif Le paramètre OverWriteLocalObject est utilisé pour les utilisateurs créés par l’outil de migration Active Directory. Les propriétés sont copiées du contact de messagerie existant dans le nouvel utilisateur de messagerie. Cependant, une fois cette copie effectuée, le script copie également les propriétés de l'utilisateur de forêt source dans le nouvel utilisateur de messagerie.
TargetMailUserOU Facultatif Le paramètre TargetMailuserOU spécifie l’unité d’organisation sous laquelle l’utilisateur à extension messagerie cible sera créé.
UseLocalObject Facultatif Le paramètre UseLocalObject spécifie s’il faut convertir l’objet local existant en utilisateur à extension messagerie cible obligatoire si le script détecte un objet dans la forêt locale qui entre en conflit avec l’utilisateur à extension messagerie à créer.

Exemples

Cette section contient plusieurs exemples d’utilisation du script Prepare-MoveRequest.ps1.

Exemple : Utilisateur unique à extension messagerie lié

Cet exemple fournit un seul utilisateur à extension messagerie lié dans la forêt locale, lorsqu’il y a une approbation forêt entre la forêt distante et la forêt locale.

  1. Exécutez les commandes suivantes pour obtenir les informations d'identification de la forêt locale et de la forêt distante.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. Exécutez la commande suivante pour transmettre les informations d’identification aux paramètres LocalForestCredential et RemoteForestCredential dans le script Prepare-MoveRequest.ps1.

    Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser
    

Exemple : Traitement en pipeline

Cet exemple prend en charge le traitement en pipeline si vous fournissez une liste des identités de boîtes aux lettres.

  1. Exécutez la commande suivante :

    $UserCredentials = Get-Credential
    
  2. Exécutez la commande suivante pour transmettre les informations d’identification au paramètre RemoteForestCredential dans le script Prepare-MoveRequest.ps1.

    "IanP@Contoso.com","JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
    

Exemple : Utiliser un fichier .csv pour créer en bloc des utilisateurs à extension messagerie

Vous pouvez générer un fichier .csv contenant une liste des identités de boîtes aux lettres de la forêt source, qui vous permet de canaliser le contenu de ce fichier dans le script pour créer en bloc des utilisateurs à extension messagerie cible.

Par exemple, le contenu du fichier .csv peut être :

Identity
Ian@contoso.com
John@contoso.com
Cindy@contoso.com

Cet exemple appelle un fichier .csv pour créer en bloc les utilisateurs à extension messagerie cible.

  1. Exécutez la commande suivante permettant d'obtenir les informations d'identification pour la forêt distante.

    $UserCredentials = Get-Credential
    
  2. Exécutez la commande suivante pour transmettre les informations d’identification au paramètre RemoteForestCredential dans le script Prepare-MoveRequest.ps1.

    Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
    

Comportement de script par objet cible

Cette section décrit la façon dont le script s’exécute par rapport un différents scénarios pour les objets cible.

Objet à extension messagerie cible en double

Lorsque le script tente de créer un utilisateur à extension messagerie cible depuis l'utilisateur de boîte aux lettres source et qu'il détecte un objet à extension messagerie local en double, il utilise la logique suivante :

  • Si l'attribut masterAccountSid de l'utilisateur de la boîte aux lettres source équivaut à l'attribut objectSid ou masterAccountSid de l'objet cible :
    • Si l'objet cible n'est pas à extension messagerie, le script renvoie une erreur car il ne prend pas en charge la conversion d'un objet qui n'est pas à extension messagerie en un utilisateur à extension messagerie.
    • Si l'objet cible est à extension messagerie, l'objet cible est un doublon.
  • Si une adresse des propriétés proxyAddress (smtp/x500 seulement) de l'utilisateur de boîtes aux lettres source équivaut à une adresse des propriétés proxyAddress (smtp/x500 seulement) d'un objet cible, alors l'objet cible est un doublon.

Le script interroge l'utilisateur sur les objets en double.

Si l’objet à extension messagerie cible est un utilisateur ou un contact à extension messagerie, qui est très probablement créé par un déploiement de la synchronisation de la liste d’adresses globale inter-forêts (basé sur Identity Lifecycle Management 2007 Service Pack 1), l’utilisateur peut à nouveau exécuter le script avec le paramètre UseLocalObject pour utiliser l’objet à extension messagerie cible pour la migration de boîtes aux lettres.

Utilisateur à extension messagerie

Si l'objet cible est un utilisateur à extension messagerie, le script copie les attributs suivants de l'utilisateur de boîte aux lettres source vers l'utilisateur à extension messagerie cible :

  • msExchMailboxGUID
  • msExchArchiveGUID
  • msExchArchiveName

Si le paramètre LinkedMailUser est défini, le script copie l’attribut source objectSid/masterAccountSid .

Contact à extension messagerie

Si l’objet cible est un contact à extension messagerie, le script supprime le contact existant et copie l’ensemble de ses attributs vers un nouvel utilisateur à extension messagerie. Le script copie également les attributs suivants à partir de l'utilisateur de boîte aux lettres source :

  • msExchMailboxGUID
  • msExchArchiveGUID
  • msExchArchiveName
  • Samaccountname
  • userAccountControl (défini sur 514 //équivalent à 0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT)
  • userPrincipalName

Si le paramètre LinkedMailUser est défini, le script copie l’attribut source objectSid/masterAccountSid .

Attribut LegacyExchangeDN

Lorsque la cmdlet Update-Recipient est appelée pour convertir l'objet cible en un utilisateur à extension messagerie, un nouvel attribut LegacyExchangeDN est généré pour l'utilisateur à extension messagerie cible. Le script copie l'attribut LegacyExchangeDN de l'utilisateur à extension messagerie cible sous forme d'adresse x500 vers les propriétés proxyAddress de l'utilisateur de boîte aux lettres source.