I. Présentation
Lors de la migration de boites mails ou de manipulation sur les boites mails d’un serveur mail Exchange, il est courant d’avoir besoin d’importer le contenu d’un fichier PST (récupéré sur une ancienne boite mail par exemple) dans un nouveau compte mail. Nous allons, dans ce tutoriel, voir comment effectuer cette action en ligne de commande via les cmdlets PowerShell Exchange.
II. Utilisation des commandes Exchange Powershell
Il faut tout d’abord commencer par se rendre sur son serveur Exchange pour y lancer le module Powershell. On peut également, si les configurations le permettent, y accéder à distance. L’important étant d’avoir accès aux cmdlets spécifiques à Exchange. Une fois que l’outil Powershell pour Exchange est ouvert ou alors que le module Exchange a été chargé dans Powershell, on peut commencer l’importation. En prérequis, il faut :
- Une boite mail déjà crée sur Exchange et la connaissance de son alias
- Un fichier PST facilement accessible via un chemin UNC (\\localhost\c$\… pour accéder en local à un chemin UNC)
Une fois que nous avons ces éléments, il nous suffit d’exécuter la commande suivante, par exemple pour importer le fichier C:\pst\florian.pst dans le compte flo.it-connect :
(PS) C:\>New-MailboxImportRequest -FilePath \\localhost\c$\pst\florian.pst -Mailbox flo.it-connect
On peut aussi très bien importer le fichier PST dans un sous dossier de la boite mail de flo.it-connect via l’option « -TargetRootFloder » :
(PS) C:\>New-MailboxImportRequest -FilePath \\localhost\c$\pst\florian.pst -Mailbox flo.it-connect -TargetRootFolder "Backup mail"
Dès lors, la demande d’importation va être mise en file d’attente et sera traitée par Exchange, il est tout à fait possible d’effectuer plusieurs dizaines de demandes d’importation en même temps, c’est le serveur Exchange lui-même qui gérera sa file d’attente en suite pour éviter d’être surchargé. Pour voir le contenu de la file d’attente, il faut utiliser la commande suivante :
(PS) C:\> Get-MailboxImportRequest
Voici le résultat que nous pourrons avoir :
Les demandes en « Completed » sont terminées, les commandes « In Progress » sont en cours de traitement. Pour avoir plus d’information sur l’avancement des demandes en statuts « In Progress », il faut utiliser la commande suivante :
(PS) C:\> Get-MailboxImportRequest | Get-MailboxImportRequestStatistics
Apparait alors le pourcentage d’avancement des importations.