Passer au contenu principal

Configurer une inscription d’application Azure pour les migrations SharePoint avec PowerShell

Comment configurer une application Azure pour exécuter ShareGate Migrate PowerShell pour la Migration SharePoint et Teams sans compte d'util

Remarque : L’intégration PowerShell nécessite un abonnement Pro ou Enterprise à ShareGate Migrate. Elle n’est pas disponible avec le plan Essentials.

Cet article concerne uniquement l’intégration PowerShell de ShareGate Migrate.

L’authentification par application uniquement vous permet d’effectuer des migrations SharePoint et Teams depuis PowerShell sans compte d'utilisateur connecté. Au lieu des informations d’identification d’un utilisateur, ShareGate Migrate s’authentifie à l’aide d’un enregistrement d’application Azure.

Lors de la configuration, vous créerez un enregistrement d’application, téléchargerez un certificat d’authentification et accorderez les autorisations API requises.

Vous utiliserez ensuite l’Application (client) ID et le certificat pour vous authentifier depuis PowerShell.

Avant de commencer

  • Abonnement Pro ou Enterprise à ShareGate Migrate

  • Accès Administrateur général sur le locataire Microsoft 365 requis pour créer l’enregistrement d’application et accorder le consentement administrateur

Configurer l’enregistrement de l’application

Effectuez cette opération sur chaque locataire vers ou depuis lequel vous migrez.

Pour une application à locataire unique (utilisée uniquement dans un seul locataire), répétez la configuration complète pour chaque locataire.

Pour une application multi-locataires (où un seul enregistrement est réutilisé sur plusieurs locataires), effectuez les étapes dans votre locataire principal, puis accordez le consentement administrateur dans chaque locataire supplémentaire.

Étape 1 : Générer un certificat

ShareGate utilise un certificat pour s’authentifier en tant qu’application. Exécutez le script PowerShell suivant pour générer un certificat auto-signé dans votre magasin d’utilisateur local et l’exporter sur votre Bureau.

# Générer un certificat auto-signé dans votre magasin d’utilisateur local
$certName = "AzureAppAuthCert"
$cert = New-SelfSignedCertificate -Subject "CN=$certName" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256

# Exporter la clé publique (.cer) - à téléverser sur Azure à l’étape 3
Export-Certificate -Cert $cert -FilePath "$home\Desktop\$certName.cer"

# Exporter la clé privée en .pfx - requis si vous vous connectez via l’Option B
$pfxPassword = ConvertTo-SecureString -String "choose-a-strong-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "$home\Desktop\$certName.pfx" -Password $pfxPassword

# Copiez cette valeur pour l’utiliser avec New-AzureApplication
Write-Host "Thumbprint: $($cert.Thumbprint)"

Les deux fichiers sont enregistrés sur votre Bureau. Téléversez le fichier .cer sur Azure à l’étape 3. Si vous prévoyez de vous connecter via l’Option B, vous aurez également besoin du fichier .pfx.

Notez l’empreinte (thumbprint) affichée dans la console. Vous l’utiliserez avec New-AzureApplication lors de l’étape de connexion.

Étape 2 : Enregistrer l’application dans Microsoft Entra ID

  1. Connectez-vous au Centre d’administration Microsoft Entra en tant qu’Administrateur général.

  2. Allez dans Entra ID > App registrations > New registration.

  3. Donnez un nom à l’application (par exemple, ShareGate Migration).

  4. Sous Supported account types, choisissez My organization only pour une application à locataire unique, ou Multiple Entra ID tenants pour une application multi-locataires utilisée sur plusieurs locataires.

  5. Laissez le champ Redirect URI vide.

  6. Cliquez sur Register.

  7. Sur la page Overview, copiez l’Application (client) ID. Vous l’utiliserez avec New-AzureApplication.

Étape 3 : Téléverser le certificat

  1. Dans l’enregistrement de votre application, allez dans Certificates & secrets > Certificates, puis sélectionnez Upload certificate.

  2. Téléversez le fichier .cer depuis votre Bureau.

  3. Cliquez sur Add.

Étape 4 : Ajouter les autorisations API

  1. Dans l’enregistrement de votre application, allez dans API permissions > Add a permission.

  2. Ajoutez chaque Application permission listée ci-dessous. Ajoutez séparément les autorisations Microsoft Graph et SharePoint. Ne sélectionnez pas les autorisations Déléguées.

  3. Cliquez sur Grant admin consent for [votre locataire] et confirmez.

Autorisations Microsoft Graph :

ChannelMember.ReadWrite.All

Membres de canal Teams

ChannelSettings.ReadWrite.All

Paramètres des canaux Teams

Directory.ReadWrite.All

Objets de l’annuaire

Files.ReadWrite.All

Fichiers dans toutes les collections de sites

Group.ReadWrite.All

Groupes Microsoft 365

InformationProtectionPolicy.Read.All

Stratégies de protection des informations

SensitivityLabels.Read.All

Étiquettes de confidentialité

Notes.ReadWrite.All

Blocs-notes OneNote

Sites.FullControl.All

Contrôle total sur toutes les collections de sites

Sites.Manage.All

Créer, modifier et supprimer des éléments dans toutes les collections de sites

Sites.ReadWrite.All

Lire et écrire des éléments dans toutes les collections de sites

Tasks.ReadWrite.All

Tâches Planner

Team.Create

Créer des équipes

TeamMember.ReadWrite.All

Membres d’équipe

TeamsAppInstallation.ReadWriteForUser.All

Installations d’applications Teams

TeamSettings.ReadWrite.All

Paramètres d’équipe

TeamsTab.ReadWrite.All

Onglets dans les canaux Teams

TermStore.ReadWrite.All

Magasin de termes

User.Read.All

Profils d’utilisateurs

Autorisations SharePoint :

Remarque : Les autorisations SharePoint se trouvent sous SharePoint dans la liste des API, et non sous Microsoft Graph.

Sites.FullControl.All

Contrôle total sur toutes les collections de sites

Sites.Manage.All

Créer, modifier et supprimer des éléments dans toutes les collections de sites

Sites.Read.All

Lire les éléments dans toutes les collections de sites

Sites.ReadWrite.All

Lire et écrire des éléments dans toutes les collections de sites

TermStore.Read.All

Magasin de termes (lecture)

TermStore.ReadWrite.All

Magasin de termes (lecture/écriture)

User.Read.All

Profils d’utilisateurs (lecture)

User.ReadWrite.All

Profils d’utilisateurs (lecture/écriture)

Se connecter depuis ShareGate

Créez un objet d’informations d’identification avec New-AzureApplication, puis transmettez-le à Connect-Site ou Connect-Tenant.

Option A : Empreinte du certificat (depuis le script de génération)

Si vous avez utilisé le script à l’étape 1, le certificat se trouve dans Cert:\CurrentUser\My. Passez directement l’empreinte :

# Créer un objet d’informations d’identification à partir de l’empreinte du certificat
$app = New-AzureApplication -ClientId "<application-client-id>" -Thumbprint "<certificate-thumbprint>"

# Se connecter à un site spécifique
Connect-Site -Url "https://contoso.sharepoint.com/sites/Marketing" -AzureApplication $app

# Ou se connecter au niveau du locataire
Connect-Tenant -Domain "contoso" -AzureApplication $app

Option B : Certificat depuis un fichier .pfx

Si vous avez le certificat sous forme de fichier .pfx, chargez-le directement :

# Charger le certificat depuis un fichier .pfx
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new(
"C:\certs\sharegate-app.pfx",
"your-pfx-password")

# Créer un objet d’informations d’identification
$app = New-AzureApplication -ClientId "<application-client-id>" -Certificate $certificate

# Se connecter à un site
Connect-Site -Url "https://contoso.sharepoint.com/sites/Marketing" -AzureApplication $app

Un même objet application peut authentifier plusieurs connexions dans la même session. Réutilisez la même variable $app dans plusieurs appels Connect-Site ou Connect-Tenant.

Remarque : Si votre stratégie de sécurité empêche d’accorder une des autorisations requises, ajoutez -AllowMissingPermissions à Connect-Site ou Connect-Tenant pour vous connecter quand même.

Les opérations nécessitant l’autorisation manquante échoueront avec des erreurs Forbidden.

Ce paramètre ne fait que relâcher la vérification des autorisations après une authentification réussie. Il ne résout pas un échec de connexion.

Enregistrer et réutiliser une application

Vous pouvez enregistrer un objet d’enregistrement d’application et le récupérer lors de sessions ultérieures, afin de ne pas avoir à le recréer à chaque fois. Utilisez Save-AzureApplication pour l’enregistrer et Get-AzureApplication pour le recharger.

Limites connues

  • Modifié par et Créé par ne sont pas conservés lors de la migration. Les éléments affichent l’identité de service de l’application au lieu de l’auteur d’origine.

  • Alertes utilisateur ignorées. L’authentification par application seule n’a pas de contexte utilisateur pour envoyer des alertes.

  • Composants Web classiques non migrés.

  • Workflows SharePoint classiques non migrés.

  • Formulaires InfoPath partiellement migrés. Attendez-vous à des avertissements.

  • Workflows d’approbation de publication nécessitent un contexte utilisateur. Attendez-vous à des erreurs ou avertissements.

  • Étiquettes de confidentialité non encore appliquées lors de la migration. La prise en charge est prévue dans une future mise à jour.


"Cet article a été traduit à l’aide de l’intelligence artificielle. En cas de doute, veuillez vous référer à la version originale en anglais."

Avez-vous trouvé la réponse à votre question ?