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
Stellen Sie Ihr Microsoft 365-Setup entweder mit Ihrem vorhandenen Active Directory oder einer der anderen Optionen zum Hinzufügen von Konten zu Microsoft 365 bereit. Weitere Informationen finden Sie unter Microsoft 365-Integration in lokale Umgebungen und Gleichzeitiges Hinzufügen von Benutzern und Zuweisen von Lizenzen.
Installieren Sie die SharePoint Online-Verwaltungsshell, und richten Sie Ihr Arbeitsverzeichnis ein.
Schritt 1: Installieren der SharePoint Online-Verwaltungsshell
Deinstallieren Sie alle vorherigen Versionen der SharePoint Online-Verwaltungsshell.
Sie müssen die SharePoint Online-Verwaltungsshell herunterladen und installieren.
Ö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.
Erstellen Sie einen Ordner für temporäre Pakete.
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. |