Chargement de contenu local vers SharePoint à l’aide des cmdlets PowerShellUpload on-premises content to SharePoint using PowerShell cmdlets

Notes

L’outil de migration SharePoint (SPMT) simplifie votre processus de migration. SPMT fournit une expérience de type assistant pour vous guider tout au long du processus de migration de vos sites d’équipe SharePoint Server ou de vos partages de fichiers réseau vers Microsoft 365. Il est disponible pour tous les utilisateurs de Microsoft 365 : Télécharger SMPT.The SharePoint Migration Tool (SPMT) helps simplify your migration process. SPMT provides a wizard-like experience to guide you through migrating SharePoint Server team sites or network file shares to Microsoft 365. It is available to all Microsoft 365 users: Download SPMT.

Important

L’outil de migration SharePoint n’est pas disponible actuellement pour les utilisateurs d’Office 365 géré par 21Vianet en Chine.The SharePoint Migration Tool isn't currently available for users of Office 365 operated by 21Vianet in China.

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.This article shows how to use SharePoint Migration PowerShell cmdlets to migrate content from an on-premises file share to Microsoft 365.

Les cmdlets PowerShell de migration de SharePoint sont conçues pour déplacer du contenu local à partir de partages de fichiers.SharePoint Migration PowerShell cmdlets are designed to move on-premises content from file shares. 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.They require minimal CSOM calls and use Azure temporary Blob Storage to handle large migrations of data.

Configuration requisePrerequisites

  • Systèmes d’exploitation pris en charge : Supported operating systems:

    • Windows 7 Service Pack 1Windows 7 Service Pack 1
    • Windows 8Windows 8
    • Windows Server 2008 R2 SP1Windows Server 2008 R2 SP1
    • Windows Server 2008 Service Pack 2Windows Server 2008 Service Pack 2
    • Windows Server 2012, Windows Server 2012 R2Windows Server 2012, Windows Server 2012 R2
  • Windows PowerShell 4.0Windows PowerShell 4.0

Notes

Autorisations : vous devez être administrateur de la collection de sites sur le site que vous ciblez.Permissions: You must be a site collection administrator on the sit that you're targeting.

Avant de commencerBefore you begin

Étape 1 : installer SharePoint Online Management ShellStep 1: Install the SharePoint Online Management Shell

  1. Désinstallez toutes les versions précédentes de SharePoint Online Management Shell.Uninstall all previous versions of the SharePoint Online Management Shell.

  2. Télécharger et installez SharePoint Online Management Shell.Download and install SharePoint Online Management Shell.

  3. Ouvrez SharePoint Online Management Shell, puis sélectionnez Exécuter en tant qu’administrateur.Open SharePoint Online Management Shell, and select Run as Administrator.

Étape 2 : configurer votre répertoire de travailStep 2: Set up your working directory

Avant de commencer la migration, vous devez configurer votre répertoire de travail avec deux dossiers vides.Before you start the migration, you need to set up your working directory with two empty folders. Ces dossiers n’ont pas besoin de beaucoup d’espace disque, car ils ne contiennent que du XML.These folders don't need much disk space, as they'll only contain XML.

  1. Créez un dossier de package temporaire.Create a temporary package folder.

  2. Créez un dossier de package final.Create a final package folder.

Étape 3 : déterminez les emplacements et informations d'identificationStep 3: Determine locations and credentials

Identifiez vos informations d’identification et les emplacements de vos fichiers sources, fichiers cibles et du web.Identify your credentials and the locations of your source files, target files, and web.

Sur votre ordinateur local, ouvrez SharePoint Online Management Shell.On your local computer, open SharePoint Online Management Shell. Exécutez ces commandes tout en insérant vos valeurs :Run the following commands, but insert your values:

$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 localStep 4: Create a new content package from an on-premises file share

À cette étape, vous allez créer un package de migration à partir d'un partage de fichiers.In this step, you create a new migration package from a file share. Pour créer un package de contenu à partir d'un partage de fichiers, la commande New-SPOMigrationPackage lit la liste du contenu ciblé par le chemin d'accès source, et génère le code XML pour effectuer la migration.To create a content package from a file share, the New-SPOMigrationPackage command reads the list of content targeted by the source path and generates XML to do the migration.

Les paramètres suivants sont obligatoires, sauf s'ils sont marqués comme étant facultatifs :The following parameters are required unless marked optional:

  • SourcefilesPath : pointe vers le contenu que vous voulez migrer.SourcefilesPath: Points to the content you plan to migrate.

  • OutputPackagePath : pointe vers votre dossier temporaire.OutputPackagePath: Points to your Temporary folder.

  • TargetWebUrl : pointe sur votre site web de destination.TargetWebUrl: Points to your destination web.

  • TargetDocumentLibraryPath : pointe sur la bibliothèque de documents dans le site web.TargetDocumentLibraryPath: Points to the document library inside the web.

  • IgnoreHidden: ignorer les fichiers masqués (facultatif).IgnoreHidden: Skip hidden files (optional).

  • ReplaceInvalidCharacters : résout les caractères non valides lorsque c'est possible (facultatif).ReplaceInvalidCharacters: Fix invalid characters when possible (optional).

Exemple :Example:

Cet exemple montre comment créer un package à partir d’un partage de fichiers.The following example shows how to create a new package from a file share. Il ignore les fichiers cachés et remplace les caractères non pris en charge dans les noms des fichiers ou dossiers.It ignores hidden files and replaces unsupported characters in file/folder names.

    New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden -ReplaceInvalidCharacters`

Étape 5 : convertir le package de contenu pour votre site cibleStep 5: Convert the content package for your target site

Utilisez la commande ConvertTo-SPOMigrationTargetedPackage pour convertir le SML généré dans votre dossier temporaire.Use the ConvertTo-SPOMigrationTargetedPackage command to convert the SML generated in your temporary folder. Celle-ci enregistre un nouveau jeu de fichiers de métadonnées de package de migration ciblé dans le répertoire cible.It saves a new set of targeted migration package metadata files to the target directory. Il s'agit du package final.This is the final package.

Notes

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.Your target site collection administrator credentials are used to gather data to connect to the data site collection.

Il existe six paramètres obligatoires à entrer (les autres sont facultatifs) :There are six required parameters to enter (others are optional):

  • ParallelImport : indique à l’outil d’utiliser le thread parallèle pour l’optimisation de la performance.ParallelImport: Instructs the tool to use parallel thread optimize performance.

  • SourceFiles : pointe vers l’emplacement du répertoire des fichiers de contenu source du package.SourceFiles: Points to the directory location of the package's source content files.

  • SourcePackagePath : pointe vers votre dossier de package temporaire.SourcePackagePath: Points to your temporary package folder.

  • OutputPackagePath : pointe vers votre dossier de package final.OutputPackagePath: Points to your final package folder.

  • Informations d'identification : informations d’identification SharePoint disposant des droits d’administrateur pour le site de destination.Credentials: SharePoint credential that has admin rights to the destination site.

  • TargetWebUrl: URL de votre site web de destination.TargetWebUrl: URL of your destination web.

  • TargetDocumentLibraryPath : chemin d’accès à votre bibliothèque de destination.TargetDocumentLibraryPath: Path to your destination library.

Exemple :Example:

cet exemple montre comment convertir un package en un autre ciblé en recherchant les données dans la collection de sites cible.This example shows how to convert a package to a targeted one by looking up data in the target site collection. Il utilise le paramètre -ParallelImport pour améliorer les performances de migration du partage de fichiers.To boost file share migration performance, it uses the -ParallelImport parameter.

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib`

Étape 6 : envoyer le contenu à importerStep 6: Submit content to import

 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.In this step, the Invoke-SPOMigrationEncryptUploadSubmit command creates a new migration job in the target site collection and then returns a GUID that represents the JobID. Cette commande charge les fichiers sources et manifestes chiffrés dans un stockage Blob Azure temporaire par travail.This command uploads encrypted source files and manifests into temporary Azure Blob Storage per job.

Quatre paramètres obligatoires doivent être entrés.There are four required parameters to enter. Les autres sont facultatifs.Others are optional.

  • TargetwebURL : pointe vers le site web de la destination.TargetwebURL: Points to the web of the destination.

  • SourceFilesPath : pointe vers les fichiers à importer.SourceFilesPath: Points to the files to import.

  • SourcePackagePath : pointe vers le manifeste final des fichiers à importer.SourcePackagePath: Points to the final manifest of the files to import.

  • Informations d'identification : les informations d’identification SharePoint qui disposent de droits d’administrateur de collection de sites pour le site de destination.Credentials: The SharePoint credentials that have Site Collection Administrator rights to the destination site.

Exemple 1 :Example 1:

cet exemple montre comment envoyer des données de package pour créer une tâche de migration.This example shows how to submit package data to create a new migration job.

 $job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb

Exemple 2 :Example 2:

cet exemple montre comment envoyer des données de package pour créer des tâches de migration pour une importation parallèle.This example shows how to submit package data to create new migration jobs for parallel import.

$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 :For each submitted job, the Invoke cmdlet returns these properties as part of a job:

  • JobId : ID de la tâche dans SPO.JobId: ID of the job in SPO.

  • ReportingQueueUri : file d’attente SharePoint Azure qui stocke les messages de progression en temps réel de la migration.ReportingQueueUri: SharePoint Azure queue that stores the real-time progress messages of the migration.

  • Chiffrement : clé de chiffrement et méthode utilisées lors du chargement du contenu dans Azure.Encryption: Encryption key and method used for uploading the content to Azure. Cette clé est obligatoire lors du déchiffrement des messages de la file d'attente et des journaux de l'importation.This key is required when you decrypt the queue messages and import logs.

Si vous utilisez votre propre compte de stockage Azure, pour charger du contenu dans votre espace de stockage, utilisez les commandes Set-SPOMigrationPackageAzureSource et Submit-SPOMigrationJob.If you're using your own Azure Storage account to upload content into your storage, use Set-SPOMigrationPackageAzureSource and Submit-SPOMigrationJob.

Important

Si vous choisissez d’utiliser votre espace de stockage Azure, sachez que vous risquez d’occasionner des frais de bande passante.If you choose to use your Azure Storage, you could incur Bandwidth charges. Les frais dépendent de votre type d’offre Azure et de la taille de la migration.Charged would depend on your Azure offer type and migration size. Pour les prix généraux, consultez la tarification de la bande passante.For general prices, refer to bandwidth pricing.

(Facultative) Étape 7  : traiter et surveiller votre migration SharePoint(Optional) Step 7: Process and monitor your SharePoint migration

Une fois que le travail est soumis, uniquement Azure et SharePoint interagissent pour extraire et migrer le contenu vers la destination.After the job is submitted, only Azure and SharePoint interact to fetch and migrate the content to the 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.This process is timer-job based, which means it's in a queue on a first-come, first-served basis. Ce processus n’empêche pas la même personne d’être dans la file d’attente d’autres tâches.This process doesn't prevent the same person from queuing other jobs.

Si aucune autre tâche en cours d’exécution ne s’exécute, il peut y avoir un délai de 1 minute.If no other jobs running are running, there may be a 1-minute delay.

Vérifier l’état d’une tâcheCheck job status

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.To check the status of your job, use the EncryptionKey returned in step 6 to view the real-time updates posted in the Azure Storage account.

Afficher les journauxView logs

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.If you're using your own Azure Storage account, you can view logs of everything that happened in the manifest container in the Azure Storage. À ce stade, si vous pouvez par mesure de sécurité supprimer ces conteneurs, si vous ne voulez pas les conserver comme sauvegarde dans Azure.At this stage, it's safe to delete those containers, if you don't want to keep them as backup in Azure.

En cas d’erreurs ou d’avertissements, des fichiers .err ou .won sont créés dans le conteneur de manifeste.If there were errors or warnings, .err or .won files are created in the manifest container.

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 « évènement » JobLogFileCreate.If you're using the temporary Azure Storage created by Invoke-SPOMigrationEncryptUploadSubmit in step 6, you can get the import log SAS URL by decrypting the Azure queue message with the "Event" value 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.You can use the import log SAS URL to download the log file and decrypt it with the encryption key returned in step 6.

Scénarios de script en vue d’une réutilisationScripting scenarios for reuse

Utilisez ce modèle de script.Use the following sample 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.It includes the steps from determining your locations and credentials, to submitting your package data, to creating a new migration job.

$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 cibleConvert the package to a targeted one by looking up data in target site collection

$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 migrationSubmit the package data to create the migration job

$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.This sample shows how to get the $job.ReportingQueueURi.AbosoluteUri.

# 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.This sample shows how to obtain the encryption key and the sample return.

$job.Encryption
EncryptionKey                                       EncryptionMethod
-----------------------                            ------------------
{34, 228, 244, 194...}                              AES256CBC

Important

Tous les messages sont chiffrés dans la file d’attente.All messages are encrypted in the queue. Si vous voulez lire le contenu de ReportingQueue, vous devez disposer de la valeur EncryptionKey.To read from the ReportingQueue, you must have the EncryptionKey.

Meilleures pratiques et limitationsBest practices and limitations

DescriptionDescription RecommandationRecommendation
Taille du packagePackage size 10-20 Go10-20 GB
Utilisez le commutateur -ParallelImport pour la migration de partages de fichiers qui fractionne automatiquement les packages de grande taille en petits packages.Use the -ParallelImport switch for file share migration, which automatically splits the large package into smaller ones.
Taille des fichiersFile size
2 Go2 GB
Taille cibleTarget size
Le site cible doit rester non accessible aux utilisateurs jusqu’à ce que la migration soit terminée.The target site should remain non-accessible to users until migration is complete
Limites de SharePointSharePoint limits
Limites de service dans SharePoint pour Microsoft 365Service limits in SharePoint for Microsoft 365

Limites AzureAzure limits

RessourceResource Par défaut/LimiteDefault/Limit
To par compte de stockageTB per storage account
500500
Taille maximale de file d’attente, table ou conteneur d’objets BLOB unique.Max size of single blob container, table, or queue.
500500
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.Max number of blob containers, blobs, file shares, tables, queues, entities, or messages per storage account.
La seule limite est la capacité de compte de stockage de 500 To.The only limit is the 500-TB storage account capacity.
Débit cible pour un objet BLOB uniqueTarget throughput for single blob
Jusqu’à 60 Mo ou 500 demandes par seconde.Up to 60 MB or 500 requests per second.

Les références de cmdlet concernent SharePoint OnlineCmdlet references are for SharePoint Online