Zum Hauptinhalt springen

Eine inkrementelle Migration in PowerShell ausführen

Hinweis: Die PowerShell-Integration erfordert ein ShareGate Migrate Pro- oder Enterprise-Abonnement. Sie ist im Essentials-Plan nicht verfügbar.

Sie können Ihr Skript so anpassen, dass eine zweite Migration ausgeführt wird, bei der nur die neueren Elemente aus der Quelle kopiert werden.

Details

Inkrementelle Aktualisierungen in PowerShell entsprechen der Verwendung von Copy if newer (incremental) in den Kopiereinstellungen von ShareGate Migrate.

Der Parameter für die inkrementelle Aktualisierung kopiert nur Listenelemente und Dokumente in Ihren Listen und Bibliotheken, die neuer sind als ihre Entsprechungen am Ziel.

Tipp: Wir empfehlen, den Artikel Copy if newer (incremental) zu lesen, um zu verstehen, wie die Funktion funktioniert und welche Einschränkungen gelten, bevor Sie die Einstellung in Ihrem Skript verwenden.

Vorgehensweise

Um eine inkrementelle Migration durchzuführen, führen Sie zunächst eine reguläre PowerShell-Migration aus und wiederholen Sie den Vorgang anschließend mit einem angepassten Skript.

So passen Sie Ihr Skript für eine inkrementelle Kopie an:

  1. Definieren Sie Ihre Kopiereinstellungen für die Verwendung der inkrementellen Kopie in einer neuen Variablen, indem Sie am Anfang Ihres Skripts die folgende Zeile hinzufügen:

    $copysettings = New-CopySettings -OnContentItemExists IncrementalUpdate
  2. Fügen Sie Ihrer Kopierzeile -CopySettings $copysettings hinzu:

    Copy-Content -SourceList $srcList -DestinationList $dstList -CopySettings $copysettings

Hinweis: Sie können -CopySettings mit den folgenden Befehlen verwenden: Copy-List, Copy-Site, Copy-Content, Import-Document, Import-GoogleDriveDocument und Import-BoxDocument.

Beispiele

Hier sind zwei Beispiele, die Ihnen helfen zu verstehen, wie Sie Ihr Skript für eine inkrementelle Migration anpassen können.

Mit einem einzelnen Migrationsskript

Ein Copy-Content-Skript mit inkrementeller Kopie:

Import-Module Sharegate

# Define copy settings
$copysettings = New-CopySettings -OnContentItemExists IncrementalUpdate

# Connect to source and destination sites
$srcSite = Connect-Site -Url "http://myfarm1/sites/mysourcesite"
$dstSite = Connect-Site -Url "http://myfarm1/sites/mydestinationsite"

# Get source and destination lists
$srcList = Get-List -Name "mysrclist" -Site $srcSite
$dstList = Get-List -Name "mydstlist" -Site $dstSite

# Copy content from source list to destination list with copy settings
Copy-Content -SourceList $srcList -DestinationList $dstList -CopySettings $copysettings

Mit einem Migrationsskript für mehrere Vorgänge mittels einer foreach-Schleifenanweisung

Ein Import-Document-Skript mit einer foreach-Schleifenanweisung, das die inkrementelle Kopie verwendet:

Import-Module Sharegate

# Define CSV file path
$csvFile = "C:\MigrationPlanning\onedrivemigration.csv"

# Import CSV data into a table
$table = Import-Csv $csvFile -Delimiter ","

# Define your password
$mypassword = ConvertTo-SecureString 'mypassword' -AsPlainText -Force

# Set your migration to Incremental update.
$copysettings = New-CopySettings -OnContentItemExists IncrementalUpdate

# Set variables for destination site and list
Set-Variable -Name dstSite, dstList

# Loop through each row in the CSV
foreach ($row in $table) {
# Clear previous variables for destination site and list
Clear-Variable -Name dstSite -ErrorAction SilentlyContinue
Clear-Variable -Name dstList -ErrorAction SilentlyContinue

# Connect to the destination site and get destination list
$dstSite = Connect-Site -Url $row.ONEDRIVEURL -Username "myusername" -Password $mypassword
$dstList = Get-List -Name "Documents" -Site $dstSite

# Import documents from source folder to destination list with copy settings
Import-Document -SourceFolder $row.DIRECTORY -DestinationList $dstList -CopySettings $copysettings
}

Dieser Artikel wurde mit künstlicher Intelligenz übersetzt. Bei Unklarheiten konsultieren Sie bitte die englische Originalversion.

Hat dies deine Frage beantwortet?