+33(0)1 41 29 03 29

Installer et configurer les modules PowerShell Microsoft 365 pour une migration tenant to tenant sécurisée

par | Avr 21, 2026 | SharePoint | 0 commentaires

Configurer correctement les modules PowerShell Microsoft 365 est une étape préalable indispensable à toute migration tenant to tenant réussie. Sans un environnement PowerShell maîtrisé, les opérations de synchronisation, de mappage d’identités et de transfert de données restent inaccessibles ou exposées à des risques d’erreur.

Une migration cross-tenant implique une interdépendance étroite entre plusieurs modules : Exchange Online, Microsoft Graph et les commandes liées à CrossTenantIdentityMapping dans Microsoft Entra ID. Négliger l’un de ces composants compromet l’ensemble de la chaîne d’automatisation. C’est pourquoi la préparation du tenant cible Microsoft 365 doit s’accompagner d’une configuration rigoureuse des scripts PowerShell de migration, en respectant les exigences d’authentification moderne imposées par la plateforme. Eliadis, partenaire Microsoft spécialisé dans l’intégration et la gouvernance des environnements collaboratifs, accompagne ses clients dans le paramétrage PowerShell pour migration tenant à tenant, en s’appuyant sur les modules disponibles via la PowerShell Gallery et les recommandations officielles de Microsoft 365.

À retenir :

  • Configurer les modules PowerShell est essentiel pour une migration Microsoft 365 réussie
  • Les modules clés incluent ExchangeOnlineManagement, Microsoft.Graph et MicrosoftTeams
  • L’authentification moderne est requise, avec MFA et OAuth 2.0 pour la sécurité
  • Observer des environnements distincts pour le test, la préproduction et la production réduit les erreurs
  • Un audit minutieux des scripts PowerShell est indispensable pour la traçabilité des actions
  • Maintenir les modules et versions à jour est crucial pour éviter les incompatibilités

Pré-requis et préparation de l’environnement PowerShell Microsoft 365

Avant de lancer une migration tenant to tenant, l’environnement PowerShell doit être correctement configuré avec les modules et paramètres de sécurité adaptés. Cette étape conditionne directement la stabilité et la sécurité de l’ensemble des opérations d’automatisation qui suivront.

Modules PowerShell indispensables pour une migration Microsoft 365

La checklist installation modules PowerShell Microsoft 365 comporte plusieurs composants critiques. Les trois piliers essentiels sont : ExchangeOnlineManagement, qui permet de gérer les boîtes aux lettres et les ressources Exchange Online ; Microsoft.Graph, qui offre un accès unifié aux API Microsoft 365 ; et Microsoft.Graph.Beta, qui donne accès aux fonctionnalités en préversion, parfois nécessaires lors de migrations complexes. D’après Microsoft, le processus de migration Microsoft 365 cross-tenant requiert l’installation de cinq modules prérequis, dont ExchangeOnlineManagement et MicrosoftTeams (Source : Microsoft — 2026-02-25). Ces modules sont tous disponibles via la PowerShell Gallery, le référentiel officiel de Microsoft pour la distribution de modules PowerShell.

Modules PowerShell requis pour une migration cross-tenant Microsoft 365
Module Rôle principal Version PowerShell compatible
ExchangeOnlineManagement Gestion Exchange Online et migration de boîtes aux lettres 5.1 et 7.x
Microsoft.Graph Accès unifié aux API Microsoft 365 (production) 5.1 et 7.x
Microsoft.Graph.Beta Accès aux API en préversion 5.1 et 7.x
MicrosoftTeams Administration Teams et migration des ressources associées 5.1 et 7.x

Compatibilité avec Windows PowerShell 5.1 et PowerShell 7

Les projets d’installation des connecteurs PowerShell Microsoft 365 doivent tenir compte des différences entre Windows PowerShell 5.1 et PowerShell 7 (Core). Si la version 5.1 reste largement déployée en entreprise, PowerShell 7 est recommandé pour les migrations cloud en raison de ses meilleures performances, de sa gestion native de la parallélisation et de sa compatibilité étendue avec les modules Microsoft.Graph. Il est conseillé de vérifier la version installée via la commande $PSVersionTable avant toute opération. Les pré-requis PowerShell pour projet de migration cloud précisent également que .NET Framework 4.7.2 minimum est requis pour Windows PowerShell 5.1, tandis que PowerShell 7 s’appuie sur .NET 6 ou supérieur.

Configuration TLS et ExecutionPolicy : sécuriser le chargement des modules

La gestion des erreurs PowerShell durant la migration commence souvent par une mauvaise configuration de TLS. Pour charger correctement les modules depuis la PowerShell Gallery, il est nécessaire d’activer TLS 1.2 explicitement via la commande [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12. Par ailleurs, la politique d’exécution doit être définie au minimum sur RemoteSigned avec Set-ExecutionPolicy RemoteSigned -Scope CurrentUser, afin d’autoriser les scripts signés tout en conservant un niveau de sécurité adapté aux environnements d’entreprise. Pour approfondir la configuration spécifique aux échanges cross-tenant, la mise en place du point de terminaison de migration cross-tenant Exchange Online constitue l’étape complémentaire naturelle à cette préparation environnementale. La documentation officielle sur la migration multi-tenant Microsoft 365 fournit également des références techniques précieuses pour valider chaque prérequis avant de passer à la phase de configuration des connecteurs.

Configuration_des_modules_PowerShell_Microsoft_365_pour_migration_tenant_to_tenant-1

Configuration des modules de connexion et authentification sécurisée

Configurer correctement les modules de connexion PowerShell est la condition préalable à toute migration tenant to tenant Microsoft 365 réussie. Chaque tenant — source et cible — doit être accessible via des sessions authentifiées, distinctes et sécurisées avant d’exécuter le moindre transfert de données.

Les cmdlets Connect-MgGraph et Connect-ExchangeOnline

La connexion PowerShell à deux tenants Microsoft 365 repose sur deux cmdlets essentielles. Connect-MgGraph, issu du module Microsoft Graph PowerShell SDK, permet d’interagir avec Microsoft Entra ID et les ressources Microsoft 365 via l’API Graph. On l’invoque en spécifiant les scopes requis, par exemple :

Connect-MgGraph -Scopes "Directory.ReadWrite.All","User.ReadWrite.All"

Connect-ExchangeOnline, du module Exchange Online Management, établit quant à lui la session vers Exchange Online du tenant concerné. Pour cibler alternativement le tenant source puis le tenant cible, il suffit de préciser le paramètre -UserPrincipalName ou d’utiliser des profils d’authentification distincts. Ces deux connexions doivent coexister dans un même script de migration sans interférence.

Authentification moderne : MFA, OAuth 2.0 et rôles via Microsoft Entra

La configuration de l’environnement PowerShell pour migration sécurisée exige l’abandon des méthodes d’authentification basiques au profit de l’authentification moderne. OAuth 2.0 constitue le protocole standard : il génère des jetons d’accès à durée de vie limitée, éliminant la transmission de mots de passe en clair. Le MFA renforce ce dispositif en imposant un second facteur lors de l’obtention du jeton initial.

Côté autorisations, le modèle RBAC de Microsoft Entra ID régit précisément ce que chaque compte peut effectuer. Selon la documentation Microsoft sur la migration multi-tenant, les rôles minimaux recommandés incluent Global Administrator ou Exchange Administrator selon le périmètre de la migration. D’après Microsoft, la migration tenant-to-tenant s’appuie sur cinq étapes séquentielles, dont la connexion et la validation du tenant cible font partie intégrante (Source : Microsoft — 2026-04-06).

Rôles Microsoft Entra requis selon le périmètre de migration
Périmètre Rôle recommandé Module PowerShell associé
Identités et groupes Global Administrator Microsoft.Graph
Messagerie Exchange Exchange Administrator ExchangeOnlineManagement
SharePoint & OneDrive SharePoint Administrator PnP.PowerShell
Conformité & sécurité Compliance Administrator Microsoft.Graph

Comptes de service dédiés à la migration

L’utilisation de comptes de service dédiés est une pratique incontournable dans toute authentification moderne PowerShell Microsoft 365 appliquée à un projet de migration. Ces comptes, distincts des comptes nominatifs, permettent de tracer précisément chaque opération, de limiter la surface d’exposition en cas de compromission et de maintenir une continuité de traitement sans dépendance à la présence d’un utilisateur humain. Ils doivent bénéficier uniquement des rôles RBAC strictement nécessaires, être soumis au MFA via des politiques d’accès conditionnel adaptées, et faire l’objet d’une rotation régulière des credentials. Ce socle de gouvernance prépare l’environnement à accueillir sereinement les opérations de transfert décrites dans les étapes suivantes.

Mise en œuvre et gestion des scripts de migration PowerShell

Automatiser une migration tenant to tenant Microsoft 365 repose sur des scripts PowerShell structurés, reproductibles et auditables. Une organisation rigoureuse dès la phase d’initialisation réduit considérablement les risques d’erreur lors des opérations cross-tenant.

Créer un script d’initialisation standardisé

La première étape consiste à définir un script d’initialisation qui centralise la connexion aux services cibles et établit le contexte d’exécution. Ce script doit importer les modules indispensables — notamment Exchange Online, le Microsoft Graph SDK et le module CrossTenantIdentityMapping PowerShell — puis s’authentifier auprès des deux tenants concernés. En standardisant scripts PowerShell tenant to tenant dès cette phase, les équipes garantissent que chaque exécution démarre dans un environnement cohérent, avec des variables d’environnement clairement déclarées (identifiants des tenants source et destination, chemins de journaux, niveau de verbosité).

Il est recommandé d’utiliser PowerShell 7 pour bénéficier des améliorations de performances et de la gestion avancée des erreurs. À noter cependant que certains outils tiers présentent des contraintes de version : selon ShareGate, son module PowerShell requiert au minimum Windows PowerShell 3.0, et PowerShell 7.1 n’est pas supporté en raison de dépendances .NET Core spécifiques (Source : ShareGate — 2025-01-28). Cette contrainte illustre l’importance de valider la compatibilité de chaque module avant tout déploiement en production.

Gérer la journalisation et l’audit des actions PowerShell

La sécurisation des scripts PowerShell de migration passe impérativement par une journalisation complète de chaque action exécutée. Chaque script doit écrire dans un fichier de log horodaté les opérations réalisées, les avertissements rencontrés et les erreurs éventuelles. L’utilisation de blocs try/catch combinés à Write-Log permet de tracer précisément les points de défaillance. Pour l’automatisation migration Microsoft 365 par scripts, il est conseillé d’activer le module Microsoft Graph SDK pour consigner les événements d’authentification et les modifications d’objets annuaire dans un référentiel centralisé, accessible aux équipes de gouvernance.

Le tableau ci-dessous résume les éléments essentiels à inclure dans un dispositif d’audit PowerShell pour une migration cross-tenant :

Élément à journaliser Outil recommandé Niveau de criticité
Authentification tenant source/destination Microsoft Graph SDK Critique
Exécution des cmdlets Exchange Online Transcription PowerShell Élevé
Mapping d’identités cross-tenant CrossTenantIdentityMapping module Critique
Erreurs et exceptions Try/catch + Write-Log Élevé
Durée et périmètre de chaque lot Fichier CSV horodaté Moyen

Mettre à jour régulièrement les modules pour éviter les incompatibilités

Les modules PowerShell Microsoft 365 évoluent fréquemment. Ne pas maintenir ces dépendances à jour expose la migration à des incompatibilités silencieuses, notamment entre Exchange Online et les versions successives du Microsoft Graph SDK. Il est conseillé d’intégrer dans le pipeline de maintenance un script hebdomadaire exécutant Update-Module sur l’ensemble des modules de migration, suivi d’un test de connectivité automatisé. La documentation officielle Microsoft sur la migration multi-tenant cross-tenant détaille les prérequis de version à respecter pour chaque composant. La prochaine section abordera les bonnes pratiques de sécurisation des identités et des permissions dans ce contexte de migration.

Bonnes pratiques et gouvernance des environnements PowerShell

Gouverner les environnements PowerShell dans un projet de migration Microsoft 365 signifie structurer chaque couche — comptes, modules, journaux — avant d’exécuter la moindre commande en production. Les meilleures pratiques PowerShell pour tenant to tenant reposent sur trois piliers : isolation des environnements, contrôle des identités de service et maintenance rigoureuse des modules.

Établir des environnements distincts : test, préproduction, production

Préparer l’environnement PowerShell pour un projet de migration implique de séparer clairement les contextes d’exécution. Un environnement de test permet de valider les scripts sans risque sur des données réelles ; la préproduction reproduit les conditions exactes du tenant cible avant le basculement ; la production n’est touchée qu’une fois les deux premières phases validées. Cette segmentation réduit la propagation des erreurs de configuration et facilite le rollback en cas d’incident.

Pour chaque environnement, il convient de définir un fichier de configuration distinct (variables de connexion, identifiants de tenant, scopes d’autorisations) et de versionner ces fichiers via un système de contrôle de source. Le guide de migration multi-tenant Microsoft 365 fournit les prérequis techniques à respecter pour chaque phase. Éviter le partage de contextes entre environnements protège la cohérence des données et prévient les fuites de jetons d’authentification entre tenants.

Comptes de service contrôlés et vérification des logs de sécurité

La Gouvernance PowerShell dans les projets de migration Microsoft 365 exige des comptes de service dédiés, non nominatifs, dont les droits sont limités au strict nécessaire. Ces comptes doivent être créés et supervisés depuis le Microsoft Entra admin center, avec activation de l’authentification multifacteur conditionnelle et révision périodique des autorisations. Le modèle Secure Application Model est recommandé pour les scripts automatisés : il permet d’authentifier les applications sans exposer de mot de passe en clair dans les scripts.

Les journaux d’audit du Microsoft 365 admin center doivent être consultés après chaque exécution sensible. Un tableau de suivi minimum permet d’aligner traçabilité et responsabilité :

Élément à auditer Source de log Fréquence recommandée
Connexions des comptes de service Microsoft Entra sign-in logs Après chaque session
Modifications de droits Audit log M365 admin center Hebdomadaire
Exécutions de scripts PowerShell Journal local + SIEM À chaque run
Alertes de conformité Microsoft Purview En continu

Maintenance et mise à jour des modules via PowerShell Gallery

La maintenance et la mise à jour des modules PowerShell passent obligatoirement par la PowerShell Gallery, référentiel officiel Microsoft. Selon Microsoft, le module Azure (Az) doit être installé sur les machines sources et cibles avec le paramètre -Force pour garantir compatibilité et cohérence entre les deux environnements (Source : Microsoft — 2026-04-06). Cette instruction s’applique à l’ensemble des modules impliqués : ExchangeOnlineManagement, MicrosoftTeams, Microsoft.Graph.

Planifier des vérifications mensuelles des versions publiées sur la PowerShell Gallery permet d’anticiper les dépréciations. La commande Update-Module exécutée sur chaque poste d’administration garantit la cohérence des versions entre les équipes projet. Cette discipline de mise à jour est indissociable d’une stratégie de migration fiable et auditable dans la durée.

Conclusion

Configurer un environnement PowerShell robuste est une condition préalable à toute migration Microsoft 365 tenant to tenant réussie. La qualité des modules installés et leur alignement avec les exigences des deux tenants conditionnent directement la fiabilité des opérations.

Selon Microsoft, les processus de migration tenant to tenant nécessitent des modules pré-validés et une cohérence de configuration entre la source et la cible (Source : Microsoft — 2026-04-06). Cela confirme l’importance d’adopter les meilleures pratiques PowerShell dès la phase de préparation, en maintenant à jour les modules issus de PowerShell Gallery, notamment ExchangeOnlineManagement et le Microsoft Graph SDK.

Ces deux modules sont complémentaires : l’un pilote la gestion des boîtes aux lettres Exchange Online, l’autre orchestre les identités via Microsoft Entra et l’ensemble des services Microsoft 365. Ensemble, ils couvrent la majorité des besoins d’une migration Microsoft 365 tenant à tenant.

Planifiez dès maintenant des cycles de maintenance réguliers, documentez chaque script déployé et versionné, et intégrez la gestion des modules PowerShell tenant to tenant dans votre gouvernance projet. C’est à ce prix que la migration restera sécurisée et auditable.

FAQ

Une migration de tenant à tenant dans Microsoft 365 implique le transfert des données et des configurations d’un tenant (client) vers un autre. Cela peut être nécessaire lors de fusions d’entreprises ou de restructurations.

Pour configurer une migration de tenant à tenant, les modules PowerShell couramment requis incluent Exchange Online PowerShell V2, SharePoint Online Management Shell, et Microsoft Teams. Ces outils aident à gérer les processus de transfert de données.

Pour installer les modules PowerShell pour Microsoft 365, utilisez la commande Install-Module dans PowerShell, en spécifiant le nom du module, par exemple Install-Module -Name ExchangeOnlineManagement.

Les meilleures pratiques incluent: planifier soigneusement la migration, vérifier la compatibilité des licences et des services, tester le processus avec des comptes limités, et effectuer la migration en dehors des heures de pointe pour réduire les interruptions.

Les risques incluent la perte potentielle de données, les temps d’arrêt des services, et les problèmes de compatibilité. Une bonne préparation et des tests minutieux peuvent aider à minimiser ces risques.
Partagez !