Passer au contenu principal

Importer depuis un partage de fichiers vers OneDrive for Business avec PowerShell

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

Utilisez PowerShell pour automatiser les migrations depuis un partage de fichiers vers OneDrive for Business.

Note : Fin janvier 2026, Microsoft a commencé à déprécier le cookie IDCRL, ce qui signifie que seules les méthodes d’authentification Browser et Modern authentication avec les paramètres -Browser et -ModernAuth fonctionneront dans la plupart des locataires Microsoft 365. Pour en savoir plus sur ce changement, consultez Changement important concernant l’authentification « Autre utilisateur » pour Microsoft 365.

Prérequis

Note : Vous devez être administrateur de la collection de sites sur chaque OneDrive, même si vous avez des privilèges d’administrateur supérieurs. À l’étape (15), vous utiliserez les autorisations d’administrateur SharePoint ou d’administrateur global pour appliquer les autorisations d’administrateur de la collection de sites sur tous vos OneDrives. Le script PowerShell supprimera ensuite ces autorisations au fur et à mesure de la migration de chaque OneDrive.

Procédure

Astuce : Pour migrer vos documents vers un nouveau dossier dans vos OneDrives, consultez Guide pas à pas – Migrer vers un nouveau dossier OneDrive avec PowerShell.

Créer un guide CSV pour votre migration

  1. Générez une liste des noms de tous les répertoires contenus dans le dossier DOMAIN à l’aide de ce script :

    dir –Directory Z:\ -Name | Out-File C:\MigrationPlanning\onedrivemigration.csv
    1. Remplacez les chemins par les vôtres.

  2. Ouvrez le fichier CSV généré par le script dans Excel.

  3. Insérez une nouvelle ligne en haut des résultats pour les en-têtes.

  4. Nommez la première colonne DIRECTORY.

  5. Ajoutez la lettre du lecteur mappé devant les noms des répertoires dans vos colonnes (ex. : Z:).

  6. Ouvrez ShareGate Migrate.

  7. Allez dans All reports.

  8. Cliquez sur Create custom report en haut à droite.

  9. Sélectionnez OneDrive for Business comme type d’objet.

  10. Cliquez sur Continue without saving.

  11. Sélectionnez votre locataire.

  12. Cliquez sur Run.

  13. Sélectionnez tous vos OneDrives avec la case à cocher en haut de la liste.

  14. Cliquez sur Edit dans le menu Quick actions.

  15. Sélectionnez Add administrators dans le menu déroulant Transformations.

  16. Recherchez et ajoutez votre compte dans le champ Select user or group qui apparaît.

  17. Cliquez sur Apply.

  18. Cliquez deux fois sur Back pour revenir aux résultats de votre rapport.

  19. Cliquez sur Export en haut à droite.

  20. Enregistrez le fichier sur votre lecteur, puis ouvrez-le.

  21. Remplacez l’en-tête Site address par ONEDRIVEURL.

  22. Combinez les deux feuilles de calcul afin que chaque directory corresponde à la bonne URL dans vos lignes.

    Create csv file for OneDrive for Business Migration

    Si le tri alphabétique ne fonctionne pas, vous pouvez réorganiser vos données manuellement ou chercher une solution avec des macros ou PowerShell.

  23. Enregistrez ce nouveau fichier au format CSV sur votre lecteur.

Créez votre script

Copiez et collez le script suivant dans l’application PowerShell de votre choix.

Import-Module Sharegate

# Définir le chemin du fichier CSV
$csvFile = "C:\MigrationPlanning\onedrivemigration.csv"

# Importer le fichier CSV
$table = Import-Csv $csvFile -Delimiter ","

# Définir la connexion de destination
$dstSiteConnection = Connect-Site -Url "https://destinationtenantname-my.sharepoint.com/" -ModernAuth

# Définir les variables pour les opérations sur le site et la liste
Set-Variable dstSite, dstList

# Boucle sur chaque ligne du CSV
foreach ($row in $table) {
# Réinitialiser les valeurs précédentes des variables
Clear-Variable dstSite
Clear-Variable dstList

# Se connecter au site OneDrive
$dstSite = Connect-Site -Url $row.ONEDRIVEURL -UseCredentialsFrom $dstSiteConnection

# Obtenir la liste "Documents" du site de destination
$dstList = Get-List -Name Documents -Site $dstSite

# Importer les documents du dossier source vers la liste de destination
Import-Document -SourceFolder $row.DIRECTORY -DestinationList $dstList

# Retirer les autorisations d’administrateur de la collection de sites
Remove-SiteCollectionAdministrator -Site $dstSite
}

Adaptez votre script selon vos besoins. Voici quelques conseils :

  • $csvFile : Modifiez le chemin pour qu’il pointe vers le fichier CSV que vous avez enregistré précédemment.

  • $table : Le séparateur est le symbole utilisé par votre CSV pour séparer les éléments de colonne. Assurez-vous que votre script utilise le même séparateur que votre fichier (pour vérifier rapidement, ouvrez le CSV dans le Bloc-notes).

  • $dstSiteConnection : Remplacez l’URL par l’URL racine de vos OneDrives dans votre locataire de destination.

  • Connect-site : La commande pour se connecter à un site SharePoint ou OneDrive for Business. Si vous devez changer la méthode d’authentification depuis Modern authentication, consultez Connect Site.

  • -UseCredentialsFrom : Ce script utilise Modern authentication avec le paramètre -UseCredentialsFrom pour réutiliser une seule connexion. Ce script vous demandera vos informations d’identification Microsoft 365 au démarrage. Si l’authentification multifacteur (MFA) n’est pas activée sur vos locataires, vous pouvez configurer votre script pour utiliser un nom d’utilisateur et un mot de passe pour une planification sans surveillance. Pour en savoir plus, consultez Connect-Site et Éviter de saisir vos informations d’identification à chaque fois avec les méthodes de connexion browser et modern.

  • Set-Variable et Clear-Variable : Ces commandes permettent d’éviter un problème où un échec de connexion pourrait entraîner la copie de vos données dans le mauvais OneDrive.

  • foreach : Nous utilisons foreach pour parcourir les valeurs de votre fichier CSV. Vous pouvez en savoir plus à ce sujet ici.

  • Remove-SiteCollectionAdministrator : Retire votre compte d’utilisateur en tant qu’administrateur de la collection de sites sur le OneDrive après sa migration. Pour plus d’informations, consultez Supprimer l’administrateur de la collection de sites.

Exécutez votre script une fois qu’il est correctement ajusté et testé.

À prendre en compte

  • L’authentification moderne avec -ModernAuth est la méthode d’authentification la plus sécurisée et la plus persistante, et elle peut être utilisée avec les variables Username et Password tant que l’authentification multifacteur (MFA) n’est pas activée. Il existe aussi quelques limitations. Consultez Connect-Site pour découvrir différentes façons d’utiliser cette méthode de connexion, ou pour passer à l’authentification Browser si besoin.

  • Les rapports de migration sont générés automatiquement et vous pourrez les retrouver dans Tasks. Vous pouvez aussi exporter les rapports dans votre script avec Export-Report.

  • Vous pouvez planifier votre migration en utilisant PowerShell pour l’exécuter en dehors des heures de bureau et optimiser les performances.

  • Pour effectuer une migration incrémentale, consultez l’article Mise à jour incrémentale avec PowerShell.

  • Pour reproduire les options de copie de ShareGate Migrate, consultez Reproduire les options de copie.

  • Si vous avez des centaines de gigaoctets de données à migrer, nous vous recommandons de créer plusieurs fichiers CSV pour exécuter la migration en petits lots.

  • Erreurs de script et tests : Testez votre script PowerShell sur un petit sous-ensemble de comptes OneDrive avant de l’appliquer à grande échelle. Les tests permettent d’identifier d’éventuels problèmes dans un périmètre contrôlé.


« 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 ?