Migrieren zu SharePoint Online mithilfe von PowerShellMigrate to SharePoint Online using PowerShell

Dieser Artikel enthält Informationen zu den neuen PowerShell-Cmdlets, die auf dem Migrationsmodul SharePoint-Migrationstool (SPMT) basieren. Diese können verwendet werden, um Dateien aus lokalen SharePoint 2013-Dokumentbibliotheken und Listenelementen nach Office 365 zu verschieben. Informationen zu allen aktuellen PowerShell-Cmdlets im Zusammenhang mit SharePoint Online-Migration finden Sie in der Cmdlet-Referenz zum Microsoft SharePoint-Migrationstool.This article is about the new PowerShell cmdlets based on the SharePoint Migration Tool (SPMT) migration engine. They can be used to move files from SharePoint 2013 on-premises document libraries and list items, and file shares to Office 365. For information on all current PowerShell cmdlets relating to SharePoint Online migration, please see the Microsoft SharePoint Migration Tool cmdlet reference.

Die PowerShell-Cmdlets weisen dieselbe Funktionalität wie das SharePoint-Migrationstool auf .The PowerShell cmdlets provide the same functionalities as the SharePoint Migration Tool .

Hinweis

Diese PowerShell-Cmdlets stehen derzeit nicht für Benutzer von Office 365, betrieben von 21Vianet in China, zur Verfügung. Sie sind auch nicht für Benutzer von Office 365 mit der deutschen Cloud mit dem Datentreuhänder Deutsche Telekom verfügbar. Sie werden jedoch für Benutzer in Deutschland unterstützt, deren Datenspeicherort sich nicht im deutschen Rechenzentrum befindet.These PowerShell cmdlets are currently not available for users of Office 365 operated by 21Vianet in China. They are also not available for users of Office 365 with the German cloud using the data trustee, German Telekom. However, they are supported for users in Germany whose data location is not in the German datacenter.

SystemanforderungenSystem requirements

Empfohlene Anforderungen für eine optimale LeistungRecommended requirements for best performance

BeschreibungDescription EmpfehlungRecommendation
CPUCPU 64-Bit-Prozessor mit vier Kernen oder besser64-bit Quad core processor or better
RAMRAM 16 GB16 GB
Lokaler SpeicherLocal Storage Festplatte: 150 GB freier SpeicherplatzHard disk: 150 GB free space
BetriebssystemOperating system Windows Server 2016 Standard oder DatacenterWindows Server 2016 Standard or Datacenter
Windows Server 2012 R2Windows Server 2012 R2
Windows 10-ClientWindows 10 client
.NET Framework 4.6.2.Net Framework 4.6.2
Microsoft Visual C++ 2015 RedistributableMicrosoft Visual C++ 2015 Redistributable Für OneNote-Migration erforderlich.Required for OneNote migration

Wichtig

PowerShell 5.0 und .NET Framework 4.6.2 oder höher sind erforderlich, um die Migration von Dateipfaden von bis zu 400 Zeichen zu unterstützen.PowerShell 5.0 and .NET Framework 4.6.2 or higher are required to support the migration of file paths of up to 400 characters.

Mindestanforderungen (Leistungseinbußen zu erwarten)Minimum requirements (expect slow performance)

BeschreibungDescription MindestanforderungMinimum requirement
CPUCPU
64-Bit-Prozessor mit 2 Kernen und 1,4 GHz oder besser64-bit 1.4 GHz 2-core processor or better
RAMRAM
8 GB8 GB
Lokaler SpeicherLocal Storage
Festplatte: 150 GB freier SpeicherplatzHard disk: 150 GB free space
NetzwerkkarteNetwork card
Hochgeschwindigkeits-InternetverbindungHigh-speed Internet connection
BetriebssystemOperating system
Windows Server 2008 R2Windows Server 2008 R2
Windows 7Windows 7
Windows 8 oder 8.1Windows 8 or 8.1
.NET Framework 4.6.2.NET Framework 4.6.2
Microsoft Visual C++ 2015 RedistributableMicrosoft Visual C++ 2015 Redistributable
Für OneNote-Migration erforderlich.Required for OneNote migration.
PowerShellPowerShell PowerShell 5.0 oder höher ist erforderlich, um die Migration von Dateipfaden von bis zu 400 Zeichen zu unterstützen.Powershell 5.0 or higher required to support migration of file paths of up to 400 characters.

Bevor Sie beginnenBefore you begin

  1. Stellen Sie Office 365 entweder mit Ihrem vorhandenen Active Directory oder einer der anderen Optionen zum Hinzufügen von Konten zu Office 365 bereit. Weitere Informationen finden Sie unter Office 365-Integration in lokalen Umgebungen und Hinzufügen von Benutzern zu Office 365 Business.Provision your Office 365 with either your existing active directory or one of the other options for adding accounts to Office 365. See Office 365 integration with on-premises environments and Add users to Office 365 for business for more information.
  2. Öffnen Sie den Ordner:Open the folder:
    $env:UserProfile\Documents\WindowsPowerShell\Modules\Microsoft.SharePoint.MigrationTool.PowerShell$env:UserProfile\Documents\WindowsPowerShell\Modules\Microsoft.SharePoint.MigrationTool.PowerShell
    Vergewissern Sie sich, dass darin DLLs vorhanden sind.Make sure you have DLLs inside of it.
  3. Führen Sie von diesem Ort aus den folgenden PowerShell-Befehl ausFrom this location, run the the following PowerShell command
    Import-Module Microsoft.SharePoint.MigrationTool.PowerShell
    

Erstellen und Initialisieren einer MigrationssitzungCreate and initialize a migration session

  • Register-SPMTMigrationRegister-SPMTMigration
    Dieses Cmdlet erstellt und initialisiert eine Migrationssitzung. Die Migrationseinstellungen werden von der Initialisierung auf Sitzungsebene konfiguriert. Wenn keine spezifischen Einstellungsparameter definiert werden, werden die Standardeinstellungen verwendet. Nachdem eine Sitzung registriert wurde, können Sie der Sitzung eine Aufgabe hinzufügen und die Migration starten.This cmdlet creates and then initializes a migration session. The initialization configures migration settings at the session level. If no specific setting parameters are defined, default settings will be used. After a session is registered, you can add a task to the session and start migration.

Hinzufügen einer MigrationsaufgabeAdd a migration task

  • Add-SPMTTaskAdd-SPMTTask
    Verwenden Sie dieses Cmdlet, um eine neue Migrationsaufgabe zu der registrierten Migrationssitzung hinzuzufügen. Derzeit gibt es drei unterschiedliche Typen von Aufgaben, die zulässig sind: Dateifreigabe, SharePoint-Aufgabe und eine JSON-definierte Aufgabe. Hinweis: Doppelte Aufgaben sind nicht zulässig. Use this cmdlet to add a new migration task to the registered migration session. Currently there are three different types of tasks allowed: File share task, SharePoint task and JSON defined task. Note: Duplicate tasks are not allowed.

Entfernen einer AufgabeRemove a task

  • Remove-SPMTTaskRemove-SPMTTask
    Verwenden Sie dieses Cmdlet, um eine vorhandene Migrationsaufgabe aus der registrierten Migration zu entfernen.Use this cmdlet to remove an existing migration task from the registered migration.

Starten der MigrationStart your migration

Zurückgeben des Objekts der aktuellen SitzungReturn the object of current session

  • Get-SPMTMigrationGet-SPMTMigration
    Zurückgeben des Objekts der aktuellen Sitzung. Dazu gehören der Status aktueller Aufgaben und aktuelle Einstellungen auf Sitzungsebene. Der aktuelle Aufgabenstatus umfasst Folgendes: Return the object of the current session. This includes the status of current tasks and current session level settings. Current task status includes:
    • Anzahl gescannter DateienCount of scanned files
    • Anzahl migrierter DateienCount of migrated files
    • MigrationsfehlermeldungenAny migration error messages

Beenden der aktuellen MigrationStop your current migration

Anzeigen der Migrationsstatusdetails in der KonsoleShow your migration status details in the console

  • Show-SPMTMigrationShow-SPMTMigration
    Wenn Sie die Migration im NoShow-Modus starten, wird durch Ausführen des Show-SPMTMigration-Cmdlets die Aufgaben-ID, der Datenquellenspeicherort, der Zielort und der Migrationsstatus in der Konsole angezeigt. Durch Drücken von Strg + C kehren Sie zu NoShow-Modus zurück. If you start the migration in NoShow mode, running the Show-SPMTMigration cmdlet will display the task ID, data source location, target location and migration status in the console. Pressing Ctrl+C will return to NoShow mode.

Entfernen der MigrationssitzungRemove the migration session

BeispielszenarienSample Scenarios

Beispiel 1: Der IT-Administrator fügt eine lokale SharePoint-Aufgabe hinzu und startet die Migration im Hintergrund.Example 1: IT admin adds a SharePoint on-prem task and starts migration in the background.

#Define SharePoint 2013 data source#
$Global:SourceSiteUrl = "http://YourOnPremSite/"
$Global:OnPremUserName = "Yourcomputer\administrator"
$Global:OnPremPassword = ConvertTo-SecureString -String "OnPremPassword" -AsPlainText -Force 
$Global:SPCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Global:OnPremUserName, $Global:OnPremPassword
$Global:SourceListName = "SourceListName"


#Define SPO target#
$Global:SPOUrl = "https://contoso.sharepoint.com"
$Global:UserName = "admin@contoso.onmicrosoft.com"
$Global:PassWord = ConvertTo-SecureString -String "YourSPOPassword" -AsPlainText -Force
$Global:SPOCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Global:UserName, $Global:PassWord
$Global:TargetListName = "TargetListName"

#Define File Share data source#
$Global:FileshareSource = "YourFileShareDataSource"

#Import SPMT Migration Module#
Import-Module Microsoft.SharePoint.MigrationTool.PowerShell

#Register the SPMT session with SPO credentials#
Register-SPMTMigration -SPOCredential $Global:SPOCredential -Force 

#Add two tasks into the session. One is SharePoint migration task, and another is File Share migration task.#
Add-SPMTTask -SharePointSourceCredential $Global:SPCredential -SharePointSourceSiteUrl $Global:SourceSiteUrl  -TargetSiteUrl $Global:SPOUrl -MigrateAll 
Add-SPMTTask -FileShareSource $Global:FileshareSource -TargetSiteUrl $Global:SPOUrl -TargetList $Global:TargetListName

#Start Migration in the console. #
Start-SPMTMigration


Beispiel 2: Der IT-Administrator möchte die Migration aus dem „NoShow-Modus“ im Hintergrund in den Vordergrund bringen. Er führt das folgende Cmdlet aus, damit er den Migrationsfortschritt in der Konsole anzeigen kann.Example 2: IT admin wants to bring the migration from the background “NoShow mode” to the foreground, run below the cmdlet, so he can see the migration progress in the console.

Show-SPMTMigration 

Beispiel 3:Example 3:

Ein IT-Administrator möchte eine Massenmigration durch Laden einer CSV-Datei ausführen. Die Beispieldatei in diesem Beispiel ist „STPMT.csv“.IT Admin wants to do a bulk migration by loading a .csv file. The sample file in this example is SPMT.csv.

Load CSV;
$csvItems = import-csv "C:\spmt.csv" -Header c1,c2,c3,c4,c5,c6
ForEach ($item in $csvItems)
{
    Write-Host $item.c1
    Add-SPMTTask -FileShareSource $item.c1 -TargetSiteUrl $item.c4 -TargetList $item.c5 -TargetListRelativePath $item.c6
} 
Two migration tasks are defined in the file of spmt.csv.
D:\MigrationTest\Files\Average_1M\c,,,https://SPOSite.sharepoint.com,Documents,Test C:\work\Powershell\negative,,,https://SPOSite.sharepoint.com/,Documents,DocLibrary_SubfolderName
Code snippets for bulk migration by loading one JSON file:
 
Load JSON:
$jsonItems = Get-Content -Raw -Path  "C:\spmt.json" | ConvertFrom-Json        
ForEach ($taskItem in $jsonItems.Tasks)
{
    $jsonString = ConvertTo-Json $taskItem -Depth 100
    Add-SPMTTask -JsonDefinition $jsonString -SharePointSourceCredential $onpremCredential            
} 
Three migration tasks are defined in the file of spmt.json.
{
   "Tasks":[
      {
         "SourcePath":"http://On-prem/sites/test",
         "TargetPath":"https://YourSPO.sharepoint.com",
         "Items":{
            "Lists":[
               {
                  "SourceList":"list-01",
                  "TargetList":"list-01"
               }
            ],
            "SubSites":[
 
            ]
         }
      },
      {
         "SourcePath":"http://On-prem/sites/test",
         "TargetPath":"https://YourSPO.sharepoint.com",
         "Items":{
            "Lists":[
               {
                  "SourceList":"list-02",
                  "TargetList":"list-02"
               }
            ],
            "SubSites":[
 
            ]
         }
      },
      {
         "SourcePath":"http://On-prem/sites/test",
         "TargetPath":"https://YourSPO.sharepoint.com",
         "Items":{
            "Lists":[
               {
                  "SourceList":"doclib-01",
                  "TargetList":"doclib-01"
               }
            ],
            "SubSites":[
 
            ]
         }
      }
   ]
}