Comment migrer votre serveur Exchange étape par étape
Il y a quelques semaines je vous proposais un article pour installer un serveur Exchange 2016. Sauf qu'une fois installé vous devez migrer vos boîtes mails et vos dossiers publics sur ce nouveau serveur flambant neuf ! Voici un tutoriel qui vous explique pas à pas les étapes à suivre pour migrer votre serveur Exchange.
Sommaire
Migrer vos boîtes mails
Une fois installé, vous devez migrer vos boîtes aux lettres vers la base de données de votre nouveau serveur.
Dans le menu "Migration" créer un nouveau lot puis ajouter les adresses à migrer.
Choisissez la base de donnée de votre serveur Exchange pour débuter la migration.
Migrer vos dossiers publics
Il s'agit de la partie la plus difficile. La migration des dossiers publics peut être une vraie tannée.
Exporter les informations depuis l'ancien serveur Exchange
Première étape il faut télécharger les scripts de migration
1 - Placer l'ensemble de ces scripts dans un dossier sur le C:\ appelé PFScripts
2 - Ouvrez la console Exchange Management Shell sur votre Ancien Serveur Exchange
3 - Il faut se placer dans le dossier PScripts , pour ça faire la commande
cd c:\Pfscripts
4 - Saisir la commande suivante :
.\Export-PublicFolderStatistics.ps1
5 - On vous demande de saisir le nom du fichier CSV , appelez le PublicFolderStats.csv(ce fichier contiendra l'arborescence des dossiers publics).
Ensuite on vous demande le Public Folder Server , il faut saisir le nom de votre ancien serveur Exchange
6 - Il faut maintenant saisir la commande suivante :
.\PublicFolderToMailboxMapGenerator.ps1
On vous demandera la taille des dossiers publics. Il faut saisir une valeur voici la valeur que j'ai mis 21474836480 soit 20 GO
Il faut alors saisir le nom du fichier à importer (c'est le fichier précédent) soit : PublicFolderStats.csv
Choisir le fichier à exporter soit : FolderToMailbox.csv
7 - Une fois l'étape 6 franchi il faut copier le dossier PFSCRIPTS sur le nouveau serveur Exchange dans C:\
Importer les Informations sur le nouveau serveur Exchange
8 - Sur le nouveau serveur ouvrir le Exchange management Shell et se placer dans le dossier PFSCRIPTS
Saisir la commande suivante :
.\Create-PublicFolderMailboxesForMigration.ps1
On vous demandera le nom du fichier FolderToMailbox , il faut donc saisir son nom FolderToMailBox.csv
On vous demandera combien d'utilisateurs vont se connecter sur les dossiers publics (EstimatedNumberOfConcurrentUsers).
Vous pouvez mettre un nombre plus élevé que votre nombre total d'utilisateurs (nombre de boîtes mails sur votre serveur).
Démarrer la migration depuis le nouveau serveur Exchange
9 - Sur le nouveau serveur Exchange depuis le management Shell saisir la commande suivante :
New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server NomAncienServeurExchange) -CSVData (Get-Content C:\PFScripts\FolderToMailbox.csv -Encoding Byte)
Cette commande créer un batch de migration nommé PFMIGRATION en utilisant les informations exportées depuis l'ancien serveur Exchange.
Attendre qu'il vous affiche la ligne de migration avec l'état "stopped"
10 - Démarrer la migration à l'aide de la commande suivante
Start-MigrationBatch PFMigration
Vous pouvez ainsi suivre l'avancement depuis le menu Destinataires > Migration
Vous verrez alors la migration nommée PFMIGRATION à droite vous pourrez cliquer sur détails pour afficher l'état d'avancement. Vous pouvez alors télécharger le rapport au format .txt
Vous devriez bloquer à 95% ce qui est normal ! On peut passer à l'étape de finition.
Voici l'extrait du log bloqué à 95%
Vous remarquerez que si vous ne faîtes rien le travail se finira à 100% au bout de 24H
Si ça échoue NO PANIC !
J'ai déjà eu le cas où ma migration échouait à cause d'espace dans le nom des alias des dossiers publics. Vous verrez dans les logs un message indiquant des erreurs d’attributs. Pour résoudre ce problème j'ai appliqué ce script Powershell :
function Repair-MailPublicFolderAliases{ [CmdletBinding()] param() # these are common invalid characters, but there are others that may need to be added to BOTH lists below $PFList = Get-MailPublicFolder | where { ($_.alias -like "* *") -or ($_.alias -like "*(*") -or ($_.alias -like "*)*") } foreach($PF in $PFList){ $NewAlias = $PF.Alias -replace " ", "_" $NewAlias = $NewAlias -replace "\(", "" $NewAlias = $NewAlias -replace "\)", "" Write-Verbose "Old: $($PF.alias) New: $NewAlias" $PF | Set-MailPublicFolder -Alias $NewAlias } } Repair-MailPublicFolderAliases -Verbose
Copiez collez le contenu du code dans un fichier texte et enregistrez-le au format .ps1
Exécutez le script et laissez le travailler.
Une fois terminé, arrêter la migration puis reprenez la.
Terminer la migration
11 - Connectez vous sur l'Exchange management Shell de l'ancien serveur et saisir la commande suivante :
Set-OrganizationConfig –PublicFoldersLockedForMigration:$true
Cette commande permet de bloquer l'accès aux dossiers publics sur l'ancien serveur.
Elle peut prendre du temps parfois 1h il faut donc être patient. Tant que les dossiers ne seront pas bloqués vous aurez un message d'erreur sur les prochaines étapes.
12 - Connectez vous sur l'Exchange management Shell de votre nouveau serveur et saisir la commande suivante :
Set-OrganizationConfig -PublicFoldersEnabled Remote
Le statut de la migration devrait passé à terminé. En fonction du nombre de dossiers publics ça peut prendre du temps. Une fois le statut terminé vous devriez voir vos dossiers publics en vous connectant sur le menu Dossiers Publics
13 - Finalisez la synchronisation avec la commande suivante :
Complete-MigrationBatch PFMigration
Déploiement des dossiers publics sur tous les utilisateurs
14 - Maintenant nous allons déployer les dossiers publics pour tous les utilisateurs à l'aide de la commande suivante :
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
15 - Retourner sur l'ancien serveur Exchange pour débloquer aussi les dossiers publics à l'aide de cette commande :
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
16 - Et enfin sur le nouveau serveur saisir la commande suivante qui permet de définir le nouveau serveur comme serveur principal pour les dossiers publics :
Set-OrganizationConfig -PublicFoldersEnabled Local
Ouf c'est terminé vous pouvez passer aux étapes suivantes.
Migrer les boîtes aux lettres système
Pour migrer ces boîtes mails nous allons utiliser des commandes PowerShell. Attention selon la version de votre Exchange peut être que vous ne pourrez pas les migrer.
Elles seront alors créées sur le nouveau serveur lors de l'installation. Dans ce cas nous les désactiveront sur l'ancien serveur.
Déplacer les boîtes
Voici la commande à utiliser en Exchange Management Shell sur l'ancien serveur Exchange. Elle permet de déplacer les boîtes aux lettres système.
Get-Mailbox –Arbitration | New-MoveRequest –TargetDatabase "NomBaseDeDonnéeCible”
Désactiver les boîtes (si vous ne pouvez pas les migrer)
Get-Mailbox -Arbitration -Database "NomBaseDeDonnneAncienServeur"| Remove-Mailbox -Arbitration -RemoveLastArbitrationMailboxAllowed
Déplacer la boîte de découverte
Get-Mailbox -RecipientTypeDetails DiscoveryMailbox | New-MoveRequest -TargetDatabase "NomBaseDeDonneeNouveauServeur"
Désinstaller votre serveur Exchange
Une fois toutes les étapes précédentes effectuées vous devriez pouvoir désinstaller votre serveur Exchange.
Attendez peut être quelque jours afin que tous vos utilisateurs se connectent sur le nouveau serveur.
Commentaires
Le 25 octobre 2022 à 10 h 22 min, omar a dit :
Bonjour
je tiens a vous remercier pour votre tuto , cependant je voudrai savoir si cette méthode de migration est faisable dans le cas ou nous disposons de deux serveurs exchange 2010 configurer en dag
merci d'avance
Le 25 octobre 2022 à 21 h 00 min, Tutos-Info a dit :
bonjour, je n'ai jamais tenté une migration avec un DAG.
Le 19 février 2020 à 16 h 56 min, Koa a dit :
Merci pour ce tutoriel très précis et efficace.
Ma migration s'est passée sans erreur ! :)
Laisser un commentaire