Chargement de contenu local vers SharePoint à l’aide des cmdlets PowerShell
Remarque
L’outil de migration SharePoint (SPMT) vous aide à simplifier votre processus de migration. SPMT fournit une expérience semblable à l’Assistant pour vous guider dans la migration de sites d’équipe SharePoint Server ou de partages de fichiers réseau vers Microsoft 365. Il est disponible pour tous les utilisateurs de Microsoft 365 : Télécharger SPMT.
Importante
L’outil de migration SharePoint n’est pas disponible actuellement pour les utilisateurs d’Office 365 géré par 21Vianet en Chine.
Cet article décrit l’utilisation des cmdlets PowerShell de migration de SharePoint pour migrer du contenu d’un partage de fichiers local vers Microsoft 365.
Les cmdlets PowerShell de migration de SharePoint sont conçues pour déplacer du contenu local à partir de partages de fichiers. Ils ont besoin d’appels CSOM minimes et utilisent le stockage d’objets blob temporaire Azure pour gérer des migrations importantes de données.
Configuration requise
Systèmes d’exploitation pris en charge :
- Windows 7 Service Pack 1
- Windows 8
- Windows Server 2008 R2 SP1
- Windows Server 2008 Service Pack 2
- Windows Server 2012, Windows Server 2012 R2
Windows PowerShell 4.0
Remarque
Autorisations : vous devez être administrateur de la collection de sites sur le site que vous ciblez.
Avant de commencer
Déployez la configuration Microsoft 365 avec votre Active Directory existante ou l'une des autres options d'ajout de comptes Microsoft 365. Pour plus d’informations, consultez Intégration de Microsoft 365 aux environnements locaux et Ajouter des utilisateurs et attribuer des licences en même temps.
Installer SharePoint Online Management Shell et configurer votre répertoire de travail.
Étape 1 : installer SharePoint Online Management Shell
Désinstallez toutes les versions précédentes de SharePoint Online Management Shell.
Télécharger et installez SharePoint Online Management Shell.
Ouvrez SharePoint Online Management Shell, puis sélectionnez Exécuter en tant qu’administrateur.
Étape 2 : configurer votre répertoire de travail
Avant de commencer la migration, vous devez configurer votre répertoire de travail avec deux dossiers vides. Ces dossiers n’ont pas besoin de beaucoup d’espace disque, car ils ne contiennent que du XML.
Créez un dossier de package temporaire.
Créez un dossier de package final.
Étape 3 : déterminez les emplacements et informations d'identification
Identifiez vos informations d’identification et les emplacements de vos fichiers sources, fichiers cibles et du web.
Sur votre ordinateur local, ouvrez SharePoint Online Management Shell. Exécutez ces commandes tout en insérant vos valeurs :
$cred = (Get-Credential admin@contoso.com)
$sourceFiles = '\\fileshare\users\charles'
$sourcePackage = 'C:\migration\CharlesDocumentsPackage_source'
$targetPackage = 'C:\migration\CharlesDocumentsPackage_target'
$targetWeb = 'https://contoso-my.sharepoint.com/personal/charles_contoso_com'
$targetDocLib = 'Documents'
New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden -ReplaceInvalidCharacters
Étape 4 : créer un package de contenu à partir d'un partage de fichiers local
À cette étape, vous allez créer un package de migration à partir d'un partage de fichiers. Pour créer un package de contenu à partir d’un partage de fichiers, la New-SPOMigrationPackage
commande lit la liste du contenu ciblé par le chemin d’accès source et génère du code XML pour effectuer la migration.
Les paramètres suivants sont obligatoires, sauf s'ils sont marqués comme étant facultatifs :
SourcefilesPath : pointe vers le contenu que vous voulez migrer.
OutputPackagePath : pointe vers votre dossier temporaire.
TargetWebUrl : pointe sur votre site web de destination.
TargetDocumentLibraryPath : pointe sur la bibliothèque de documents dans le site web.
IgnoreHidden: ignorer les fichiers masqués (facultatif).
ReplaceInvalidCharacters : résout les caractères non valides lorsque c'est possible (facultatif).
Exemple :
Cet exemple montre comment créer un package à partir d’un partage de fichiers. Il ignore les fichiers cachés et remplace les caractères non pris en charge dans les noms des fichiers ou dossiers.
New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden -ReplaceInvalidCharacters`
Étape 5 : convertir le package de contenu pour votre site cible
Utilisez la ConvertTo-SPOMigrationTargetedPackage
commande pour convertir le SML généré dans votre dossier temporaire. Celle-ci enregistre un nouveau jeu de fichiers de métadonnées de package de migration ciblé dans le répertoire cible. Il s'agit du package final.
Remarque
Vos informations d’identification d’administrateur de la collection de sites cible sont utilisées pour collecter des données pour vous connecter à la collection de sites de données.
Il existe six paramètres obligatoires à entrer (les autres sont facultatifs) :
ParallelImport : indique à l’outil d’utiliser le thread parallèle pour l’optimisation de la performance.
SourceFiles : pointe vers l’emplacement du répertoire des fichiers de contenu source du package.
SourcePackagePath : pointe vers votre dossier de package temporaire.
OutputPackagePath : pointe vers votre dossier de package final.
Informations d'identification : informations d’identification SharePoint disposant des droits d’administrateur pour le site de destination.
TargetWebUrl: URL de votre site web de destination.
TargetDocumentLibraryPath : chemin d’accès à votre bibliothèque de destination.
Exemple :
cet exemple montre comment convertir un package en un autre ciblé en recherchant les données dans la collection de sites cible. Il utilise le paramètre -ParallelImport pour améliorer les performances de migration du partage de fichiers.
$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib`
Étape 6 : envoyer le contenu à importer
 cette étape, la commande Invoke-SPOMigrationEncryptUploadSubmit
crée un travail de migration dans la collection de sites cible, puis renvoie un GUID représentant l'ID de travail. Cette commande charge les fichiers sources et manifestes chiffrés dans un stockage Blob Azure temporaire par travail.
Quatre paramètres obligatoires doivent être entrés. Les autres sont facultatifs.
TargetwebURL : pointe vers le site web de la destination.
SourceFilesPath : pointe vers les fichiers à importer.
SourcePackagePath : pointe vers le manifeste final des fichiers à importer.
Informations d'identification : les informations d’identification SharePoint qui disposent de droits d’administrateur de collection de sites pour le site de destination.
Exemple 1 :
cet exemple montre comment envoyer des données de package pour créer une tâche de migration.
$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb
Exemple 2 :
cet exemple montre comment envoyer des données de package pour créer des tâches de migration pour une importation parallèle.
$jobs = $finalPackages | % {Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $_.FilesDirectory.FullName -SourcePackagePath $_.PackageDirectory.FullName -Credentials $cred -TargetWebUrl $targetWeb}
Pour chaque tâche soumise, la cmdlet Invoke
renvoie ces propriétés dans le cadre d’une tâche :
JobId : ID de la tâche dans SPO.
ReportingQueueUri : file d’attente SharePoint Azure qui stocke les messages de progression en temps réel de la migration.
Chiffrement : clé de chiffrement et méthode utilisées lors du chargement du contenu dans Azure. Cette clé est obligatoire lors du déchiffrement des messages de la file d'attente et des journaux de l'importation.
Si vous utilisez votre propre compte de stockage Azure pour charger du contenu dans votre stockage, utilisez Set-SPOMigrationPackageAzureSource et Submit-SPOMigrationJob.
Importante
Si vous choisissez d’utiliser votre espace de stockage Azure, sachez que vous risquez d’occasionner des frais de bande passante. Les frais dépendent de votre type d’offre Azure et de la taille de la migration. Pour les prix généraux, consultez la tarification de la bande passante.
(Facultative) Étape 7 : traiter et surveiller votre migration SharePoint
Une fois que le travail est soumis, uniquement Azure et SharePoint interagissent pour extraire et migrer le contenu vers la destination. Ce processus est basé sur un travail du minuteur, ce qui signifie qu’il figure dans une file d’attente fonctionnant selon le principe du premier arrivé, premier servi. Ce processus n’empêche pas la même personne d’être dans la file d’attente d’autres tâches.
Si aucune autre tâche en cours d’exécution ne s’exécute, il peut y avoir un délai de 1 minute.
Vérifier l’état d’une tâche
Pour vérifier l’état de votre tâche, utilisez la valeur EncryptionKey renvoyée à l’étape 6 pour afficher les mises à jour en temps réel publiées dans le compte de stockage Azure.
Afficher les journaux
Si vous utilisez votre propre compte de stockage Azure, vous pouvez afficher tout ce qui s’est produit dans le conteneur de manifeste de l'espace de stockage Azure. À ce stade, si vous pouvez par mesure de sécurité supprimer ces conteneurs, si vous ne voulez pas les conserver comme sauvegarde dans Azure.
En cas d’erreurs ou d’avertissements, des fichiers .err ou .won sont créés dans le conteneur de manifeste.
Si vous utilisez le stockage Azure temporaire créé par Invoke-SPOMigrationEncryptUploadSubmit à l’étape 6, vous pouvez obtenir l’URL SAS du journal d’importation en déchiffrant le message de file d’attente Azure avec la valeur « Event » JobLogFileCreate. Avec l'URL SAS du journal d'importation, vous pouvez télécharger le fichier journal et le déchiffrer avec la clé de chiffrement retournée à l'étape 6.
Scénarios de script en vue d’une réutilisation
Utilisez ce modèle de script. Il inclut les étapes allant de la détermination de vos emplacements et informations d’identification, la soumission des données de votre package, à la création d’une tâche de migration.
$userName = "admin@contoso.onmicrosoft.com"
$sourceFiles = "d:\data\documents"
$packagePath = "d:\data\documentPackage"
$spoPackagePath = "d:\data\documentPackageForSPO"
$targetWebUrl = "https://contoso.sharepoint.com/sites/finance"
$targetLibrary = "Documents"
$cred = Get-Credential $userName
New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $packagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -IgnoreHidden -ReplaceInvalidCharacters
Convertir le package en un package ciblé en recherchant des données dans la collection de sites cible
$finalPackages = ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $packagePath -OutputPackagePath $spoPackagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -Credentials $cred
Soumettre des données de package pour créer une tâche de migration
$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $spoPackagePath -Credentials $cred -TargetWebUrl $targetWebUrl
This sample shows how to get the returned information of a job, which comes in the form of a GUID.
```powershell
$job = $jobs[0]
$job.JobId
Guid
----
779c4b3b-ec24-4705-bb58-c38f4329418c
Cet exemple montre comment obtenir le $job.ReportingQueueURi.AbsoluteUri.
# To obtain the $job.ReportingQueueUri.AbsoluteUri
https://spodm1bn1m013pr.queue.core.windows.net/953pq20161005-f84b9e51038b4139a179f973e95a6d6f?sv=2014-02-14&sig=TgoUcrMk1Pz8VzkswQa7owD1n8TvLmCQFZGzyV7WV8M%3D&st=2016-10-04T07%3A00%3A00Z&se=2016-10-26T07%3A00%3A00Z&sp=rap
Cet exemple montre comment obtenir la clé de chiffrement et l’exemple de retour.
$job.Encryption
EncryptionKey EncryptionMethod
----------------------- ------------------
{34, 228, 244, 194...} AES256CBC
Importante
Tous les messages sont chiffrés dans la file d’attente. Si vous voulez lire le contenu de ReportingQueue, vous devez disposer de la valeur EncryptionKey.
Meilleures pratiques et limitations
Description | Recommandation |
---|---|
Taille du package | 10-20 Go Utilisez le commutateur -ParallelImport pour la migration de partages de fichiers qui fractionne automatiquement les packages de grande taille en petits packages. |
Taille des fichiers |
2 Go |
Taille cible |
Le site cible doit rester non accessible aux utilisateurs jusqu’à ce que la migration soit terminée. |
Limites de SharePoint |
Limites de service dans SharePoint pour Microsoft 365 |
Limites Azure
Ressource | Par défaut/Limite |
---|---|
To par compte de stockage |
500 |
Taille maximale de file d’attente, table ou conteneur d’objets BLOB unique. |
500 |
Nombre maximal de conteneurs d’objets BLOB, d’objets BLOB, de partages de fichiers, tables, de files d’attente, d’entités ou de messages par compte de stockage. |
La seule limite est la capacité de compte de stockage de 500 To. |
Débit cible pour un objet BLOB unique |
Jusqu’à 60 Mo ou 500 demandes par seconde. |