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 votre migration de Box.com 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
Vous avez autorisé ShareGate Migrate dans Box.com.
Vos OneDrives ont été provisionnés (cela peut être automatisé avec la cmdlet Get-OneDriveURL).
Note : Vous devez être administrateur de la collection de sites sur chaque OneDrive, même si vous disposez de privilèges d’administration supérieurs. 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 les autorisations d’administrateur de la collection de sites au fur et à mesure que vous migrez chaque compte Box.com.
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.
Attribuez-vous comme administrateur de la collection de sites sur tous vos OneDrives
Ouvrez ShareGate Migrate.
Allez dans All reports.
Cliquez sur Create custom report en haut à droite.
Sélectionnez OneDrive for Business comme type d’objet.
Cliquez sur Continue without saving.
Sélectionnez votre locataire.
Cliquez sur Run.
Sélectionnez tous vos OneDrives avec la case à cocher en haut de la liste.
Cliquez sur Edit dans le menu Quick actions.
Sélectionnez Add administrators dans le menu déroulant Transformations.
Recherchez et ajoutez votre compte dans le champ Select user or group qui apparaît.
Cliquez sur Apply.
Créez votre script
Copiez et collez le script suivant dans l’application PowerShell de votre choix.
Import-Module Sharegate
# Connect to Box
$box = Connect-Box -Email [email protected] -Admin
# Get all Box users
$users = Get-BoxUsers -Box $box
# Connect to the SharePoint tenant
$tenant = Connect-Site -Url https://mytenant-admin.sharepoint.com -ModernAuth
# Loop through each user
foreach ($user in $users) {
# Check if the user is not inactive
if ($user.Status -ne 'inactive') {
# Get the user's OneDrive site URL
$dstSiteUrl = Get-OneDriveUrl -Tenant $tenant -Email $user.Email
# Connect to the user's OneDrive site
$dstSite = Connect-Site -Url $dstSiteUrl -UseCredentialsFrom $tenant
# Get the "Documents" list from the user's OneDrive site
$dstList = Get-List -Site $dstSite -Name "Documents"
# Import documents from Box to the OneDrive "Documents" list
Import-BoxDocument -Box $box -DestinationList $dstList -UserEmail $user.Email
# Remove site collection administrator permissions
Remove-SiteCollectionAdministrator -Site $dstSite
}
}
Adaptez votre script selon vos besoins. Voici quelques conseils :
$box : Remplacez l’adresse courriel par celle de votre administrateur Box.com.
$tenant : Modifiez l’URL pour qu’elle corresponde à celle du centre d’administration de votre locataire.
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.
foreach : Utilisé pour parcourir un ensemble de valeurs. Dans ce cas, toutes les commandes entre les accolades foreach seront répétées pour chaque utilisateur de votre compte Box.com.
-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 appliquée sur votre locataire, 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.
Remove-SiteCollectionAdministrator : Supprime 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 Remove Site Collection Administrator.
Exécutez votre script une fois qu’il est correctement ajusté et testé.
À prendre en compte
Modern authentication avec -ModernAuth est la méthode d’authentification la plus sécurisée et persistante pour Microsoft 365, et elle peut être utilisée avec les variables Username et Password tant que l’authentification multifacteur (MFA) n’est pas appliqué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 à Browser authentication si besoin.
Vous pouvez migrer le contenu du dossier racine de l’utilisateur dans Box.com, mais pas le dossier lui-même. Si vous souhaitez migrer le contenu Box.com dans un dossier séparé sur OneDrive for Business, vous devrez créer ce dossier de destination au préalable.
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 Options de copie dans PowerShell.
Seuls les fichiers dont l’utilisateur est propriétaire sont migrés. Si l’utilisateur est collaborateur ou copropriétaire d’un fichier, celui-ci ne sera pas copié lors de la migration.
Si vous rencontrez d’importants problèmes de performance, consultez Limitation Box.com.
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. »
