Hochladen lokaler Inhalte in SharePoint mithilfe von PowerShell-Cmdlets

Hinweis

Das SharePoint-Migrationstool (SPMT) vereinfacht Ihren Migrationsprozess. SPMT bietet eine assistentenähnliche Oberfläche, die Sie durch die Migration von SharePoint Server-Teamwebsites oder Netzwerkdateifreigaben zu Microsoft 365 führt. Sie ist für alle Microsoft 365-Benutzer verfügbar: SPMT herunterladen.

Wichtig

Das SharePoint-Migrationstool steht nicht für Benutzer von Office 365, betrieben von 21Vianet in China, zur Verfügung.

In diesem Artikel wird die Verwendung von PowerShell-Cmdlets für die SharePoint-Migration zur Migration von Inhalten von einer lokalen Dateifreigabe nach Microsoft 365 erläutert.

PowerShell-Cmdlets für die SharePoint-Migration dienen zum Verschieben von lokalen Inhalten aus Dateifreigaben. Sie erfordern minimale CSOM-Aufrufe und verwenden den temporären Azure BLOB-Speicher, um große Datenmigrationen zu verarbeiten.

Voraussetzungen

  • Unterstützte Betriebssysteme:

    • 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

Hinweis

Berechtigungen: Sie müssen ein Sitesammlungsadministrator auf der Site sein, auf die Sie abzielen.

Vorbereitung

Schritt 1: Installieren der SharePoint Online-Verwaltungsshell

  1. Deinstallieren Sie alle vorherigen Versionen der SharePoint Online-Verwaltungsshell.

  2. Sie müssen die SharePoint Online-Verwaltungsshell herunterladen und installieren.

  3. Öffnen Sie die SharePoint Online-Verwaltungsshell, und wählen Sie Als Administrator ausführen.

Schritt 2: Einrichtung des Arbeitsverzeichnisses

Bevor Sie mit der Migration beginnen, müssen Sie Ihr Arbeitsverzeichnis mit zwei leeren Ordnern erstellen. Für diese Ordner ist nicht viel Speicherplatz erforderlich, da sie nur XML enthalten werden.

  1. Erstellen Sie einen Ordner für temporäre Pakete.

  2. Erstellen Sie einen Ordner für endgültige Pakete.

Schritt 3: Festlegen der Speicherorte und Anmeldeinformationen

Ermitteln Sie Ihre Anmeldeinformationen und die Speicherorte der Quelldateien, der Zieldateien und für das Web.

Öffnen Sie auf Ihrem lokalen Computer die SharePoint Online-Verwaltungsshell. Führen Sie die folgenden Befehle aus, fügen Sie jedoch Ihre eigenen Werte ein:

$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

Schritt 4: Erstellen eines neuen Inhaltspakets aus einer lokalen Dateifreigabe

In diesem Schritt erstellen Sie ein neues Migrationspaket aus einer Dateifreigabe. Um ein Inhaltspaket aus einer Dateifreigabe zu erstellen, liest der New-SPOMigrationPackage Befehl die Liste der Inhalte, für die der Quellpfad bestimmt ist, und generiert XML für die Migration.

Die folgenden Parameter sind erforderlich, sofern sie nicht als optional gekennzeichnet sind:

  • SourcefilesPath: Verweist auf den Inhalt, den Sie migrieren möchten.

  • OutputPackagePath: Verweist auf den temporären Ordner.

  • TargetWebUrl: Verweist auf Ihre Zielwebsite.

  • TargetDocumentLibraryPath: Verweist auf die Dokumentbibliothek innerhalb der Website.

  • IgnoreHidden: Ausgeblendete Dateien überspringen (optional).

  • ReplaceInvalidCharacters: Korrigiert nach Möglichkeit ungültige Zeichen (optional).

Beispiel:

Das folgende Beispiel zeigt, wie ein neues Paket aus einer Dateifreigabe erstellt wird. Dabei werden ausgeblendete Dateien ignoriert und nicht unterstützte Zeichen in einem Datei- oder Ordnernamen ersetzt.

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

Schritt 5: Konvertieren des Inhaltspakets für die Zielwebsite

Verwenden Sie den ConvertTo-SPOMigrationTargetedPackage Befehl, um das in Ihrem temporären Ordner generierte SML zu konvertieren. Dadurch wird ein neuer Satz gezielter Migrationspaket-Metadatendateien im Zielverzeichnis gespeichert. Dies ist das letzte Paket.

Hinweis

Die Anmeldeinformationen Ihres Zielwebsitesammlungs-Administrators dienen zum Sammeln von Daten, mit denen eine Verbindung zur Datenwebsitesammlung hergestellt wird.

Es gibt sechs erforderliche Eingabeparameter (andere sind optional):

  • ParallelImport: Weist das Tool zur Optimierung der Leistung durch Verwendung paralleler Threads an.

  • SourceFiles: Verweist auf den Verzeichnisort, an dem sich die Quellinhaltsdateien des Pakets befinden.

  • SourcePackagePath: Verweist auf den temporären Paketordner.

  • OutputPackagePath: Verweist auf den endgültigen Paketordner.

  • Credentials: SharePoint-Anmeldeinformationen, die Administratorrechte auf der Zielwebsite besitzen.

  • TargetWebUrl: URL der Zielwebsite.

  • TargetDocumentLibraryPath: Pfad zu Ihrer Zielbibliothek.

Beispiel:

In diesem Beispiel wird gezeigt, wie ein Paket in ein Zielpaket konvertiert wird, indem Daten in der Zielwebsitesammlung nachgeschlagen werden. Zur Steigerung der Leistung der Dateifreigabemigration wird dabei der Parameter -ParallelImport verwendet.

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

Schritt 6: Übermitteln der zu importierenden Inhalte

In diesem Schritt erstellt der Befehl Invoke-SPOMigrationEncryptUploadSubmit einen neuen Migrationsauftrag in der Zielwebsitesammlung und gibt dann eine GUID zurück, die die JobID darstellt. Mit diesem Befehl werden auftragsbezogene verschlüsselte Quelldateien und Manifeste in temporären Azure-Blobspeicher hochgeladen.

Es müssen vier erforderliche Parameter eingegeben werden. Andere sind optional.

  • TargetwebURL: Verweist auf die Zielwebsite.

  • SourceFilesPath: Verweist auf die zu importierenden Dateien.

  • SourcePackagePath: Verweist auf das endgültige Manifest der zu importierenden Dateien.

  • Credentials: die SharePoint-Anmeldeinformationen, die Websitesammlungsadministrator-Rechte auf der Zielwebsite besitzen.

Beispiel 1:

Dieses Beispiel zeigt, wie Paketdaten zum Erstellen eines neuen Migrationsauftrags übermittelt werden.

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

Beispiel 2:

Dieses Beispiel zeigt, wie Paketdaten zum Erstellen neuer Migrationsaufträge für den parallelen Import übermittelt werden.

$jobs = $finalPackages | % {Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $_.FilesDirectory.FullName -SourcePackagePath $_.PackageDirectory.FullName -Credentials $cred -TargetWebUrl $targetWeb}

Für jeden übermittelten Auftrag gibt das Invoke-Cmdlet diese Eigenschaften als Teil eines Auftrags zurück:

  • JobId: ID des Auftrags in SharePoint Online.

  • ReportingQueueUri: SharePoint Azure-Warteschlange, in der die Echtzeitstatusmeldungen der Migration gespeichert werden.

  • Encryption: der Verschlüsselungsschlüssel und die Methode, die zum Hochladen der Inhalte nach Azure verwendet werden. Dieser Schlüssel ist erforderlich, wenn Sie die Warteschlangenmeldungen entschlüsseln und Protokolle importieren.

Wenn Sie Ihr eigenes Azure Storage-Konto zum Hochladen von Inhalten in Ihren Speicher verwenden, verwenden Sie Set-SPOMigrationPackageAzureSource und Submit-SPOMigrationJob.

Wichtig

Denken Sie bei der Verwendung Ihres Azure-Speichers daran, dass möglicherweise Bandbreitengebühren anfallen. Die Gebühren hängen vom Typ Ihres Azure-Angebots und vom Migrationsumfang ab. Allgemeine Preisangaben finden Sie unter Bandbreiten-Preise.

(Optional) Schritt 7: Verarbeiten und Überwachen Ihrer SharePoint-Migration

Nachdem der Auftrag übermittelt wurde, interagieren nur Azure und SharePoint zum Abrufen und Migrieren der Inhalte ans Ziel. Dieser Vorgang basiert auf Zeitgeberaufträgen, was bedeutet, dass eine Einreihung in eine Warteschlange auf Grundlage des Eingehens erfolgt. Durch diesen Vorgang wird nicht verhindert, dass die gleiche Person andere Aufträge in die Warteschlange setzt.

Wenn keine anderen Aufträge ausgeführt werden, kann es zu einer Verzögerung von 1 Minute kommen.

Auftragsstatus überprüfen

Sie können den Status eines Auftrags überprüfen, indem Sie das in Schritt 6 zurückgegebene EncryptionKey-Element verwenden, um die im Azure-Speicherkonto veröffentlichten Echtzeit-Updates anzuzeigen.

Protokolle anzeigen

Wenn Sie Ihr eigenes Azure Storage-Konto verwenden, können Sie die Protokolle aller Ereignisse anzeigen, die im Manifest-Container im Azure-Speicher aufgetreten sind. Zu diesem Zeitpunkt können diese Containern sicher gelöscht werden, wenn Sie sie nicht als Sicherung in Azure beibehalten möchten.

Wenn Fehler oder Warnungen aufgetreten sind, werden .err- oder .won-Dateien im Manifest-Container erstellt.

Wenn Sie den temporären Azure Storage verwenden, der von Invoke-SPOMigrationEncryptUploadSubmit in Schritt 6 erstellt wurde, können Sie die SAS-URL des Importprotokolls abrufen, indem Sie die Azure-Warteschlangennachricht mit dem Wert "Event" JobLogFileCreate entschlüsseln. Sie können die SAS-URL des Importprotokolls verwenden, um die Protokolldatei herunterzuladen und sie mit dem Verschlüsselungsschlüssel zu entschlüsseln, der in Schritt 6 zurückgegeben wurde.

Skripting-Szenarien zur Wiederverwendung

Verwenden Sie das folgende Beispielskript. Es umfasst die Schritte von der Ermittlung der Speicherorte und Anmeldeinformationen über die Übermittlung der Paketdaten bis hin zum Erstellen eines neuen Migrationsauftrags.

$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

Konvertieren eines Pakets in ein Zielpaket, indem Daten in der Zielwebsitesammlung nachgeschlagen werden

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $packagePath -OutputPackagePath $spoPackagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -Credentials $cred

Übermitteln der Paketdaten zum Erstellen eines neuen Migrationsauftrags

$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

Dieses Beispiel zeigt, wie Sie $job.ReportingQueueURi.AbosoluteUri abrufen können.

# 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

In diesem Beispiel wird veranschaulicht, wie Sie den Verschlüsselungsschlüssel und die Beispielrückgabe abrufen können.

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

Wichtig

Alle Nachrichten werden in der Warteschlange verschlüsselt. Zum Auslesen von ReportingQueue benötigen Sie den EncryptionKey.

Bewährte Methoden und Einschränkungen

Beschreibung Empfehlung
Paketgröße 10–20 GB
Verwenden Sie die -ParallelImport-Option für die Migration von Dateifreigaben, bei der große Pakete automatisch in kleinere aufgeteilt werden.
Dateigröße
2 GB
Zielgröße
Die Zielwebsite sollte für Benutzer nicht zugänglich sein, bis die Migration abgeschlossen ist.
SharePoint-Beschränkungen
Dienstbeschränkungen in SharePoint für Microsoft 365

Azure-Beschränkungen

Ressource Standard/Beschränkung
TB pro Speicherkonto
500
Max. Größe einzelner Blob-Container, Tabellen oder Warteschlangen.
500
Maximale Anzahl von Blob-Containern, Blobs, Dateifreigaben, Tabellen, Warteschlangen, Entitäten oder Nachrichten pro Speicherkonto.
Die einzige Beschränkung beseht in der Kapazität von 500 TB des Speicherkontos.
Zieldurchsatz für einzelne Blobs
Bis zu 60 MB pro Sekunde, oder bis zu 500 Abfragen pro Sekunde.

Cmdlet-Verweise sind für SharePoint Online