注: PowerShell 統合には、ShareGate Migrate の Pro または Enterprise サブスクリプションが必要です。Essentials プランでは利用できません。
スクリプトを変更して、ソースから新しいアイテムのみをコピーする 2 回目の移行を実行できます。
詳細
PowerShell における増分更新は、ShareGate Migrate の コピー設定で Copy if newer (incremental) を使用することと同等です。
増分更新パラメーターは、リストやライブラリ内のリスト アイテムやドキュメントのうち、コピー先の対応する項目より新しいものだけをコピーします。
ヒント: スクリプトでこの設定を使用する前に、機能の仕組みと制限事項を理解するために、Copy if newer (incremental) の記事を読むことをお勧めします。
手順
増分移行を実行するには、まず通常の PowerShell 移行を実行し、その後、変更したスクリプトで操作を再実行します。
スクリプトを変更して増分コピーを実行するには、次の操作を行います。
スクリプトの先頭に次の行を追加して、増分コピーを使用するコピー設定を新しい変数で定義します。
$copysettings = New-CopySettings -OnContentItemExists IncrementalUpdate
コピー行に -CopySettings $copysettings を追加します。
Copy-Content -SourceList $srcList -DestinationList $dstList -CopySettings $copysettings
注: -CopySettings は、次のコマンドで使用できます: Copy-List、Copy-Site、Copy-Content、Import-Document、Import-GoogleDriveDocument、Import-BoxDocument。
例
スクリプトを増分移行用に調整する方法を理解するのに役立つ、2 つの例を紹介します。
単一の移行スクリプトを使用する場合
増分コピーを使用する Copy-Content スクリプト:
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
foreach ループ ステートメントを使用する複数移行スクリプトの場合
増分コピーを使用する foreach ループ ステートメントを含む Import-Document スクリプト:
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
}
この記事はAIによって翻訳されています。ご不明な点がある場合は、英語の原文をご確認ください。
