必要なエンドポイントを構成し Power Automateを構成したら、SharePoint Server ワークフローの移行を開始する準備の完了です。 SPMT または PowerShell を使用するかを選択できます。
注:
既に正常に移行されている場合、SPMT はワークフローをスキップします。 新しい移行を実行して、移行済みのフローをオーバーライドする場合は、移行を開始する前に移行先からそれを削除してください。
SPMT を使用してワークフローを移行する
SPMT を起動し、Microsoft 365 の資格情報を入力します。
[SharePoint] セクションで、 [新しい移行の追加] を選択します。
[単一ソース URL] を選択します。
ワークフローの移行の種類を選択します。
コンテンツが格納されている SharePoint Server サイトの URL を入力します。
SharePoint Server サイトにユーザー名とパスワードを入力します。ユーザー ID またはユーザー メールを指定できます。 [サインイン] を選びます。
移行に含めるワークフローを選択します。 特定のリストのオプションを選択した場合は、リスト名の入力を求められます。
ワークフローを移行する SharePoint サイトとリストの転送先を入力します。 ワークフロー環境を選択します。 サイトまたはリストが現在存在しない場合は、自動的に作成されます。 [次へ] を選択します。
このタスクが移行タスクのリストに追加されます。 移行するファイルの別のセットを選択するには、[ソースの追加] を選択します。 それ以外の場合は、[次へ] を選択して次の手順に進みます。
設定ページで、[スキャンのみを実行する] をオンにして、ワークフロー スキャンを実行します。
[Power Automate フロー所有者] ボックスに、新しいフロー所有者のメール アドレスを入力します。
[すべての設定を表示] を選択し、[サポートされていないアクションの処理] でオプションを選択します。 [ワークフローの移行を停止してエラーを報告する] を選択すると、SPMT は、サポートされていないアクションが含まれているワークフローのエラーを報告します。 それ以外の場合、サポートされていないアクションは移行中に作成アクションに変換されます。
「スキャンのみを実行する」が選択されている場合は、 スキャンを選択してスキャン を開始します。するか、[ 移行] を選択して移行を開始します。
PowerShell を使用してワークフローを移行する
または、PowerShell を使用してワークフローを Power Automate に移行することもできます。 続行する前に、この記事の手順を完了してください: 手順 1 - エンドポイントと Power Automate の構成。
ワークフローのスキャン
このコマンドは、特定のサイトまたはリストのワークフローをスキャンし、スキャン レポートを生成します。
Register-SPMTMigration -ScanOnly $true -SPOCredential $targetCredential -UserMappingFile $userMappingFile -MigrationType WORKFLOW -DefaultFlowOwnerEmail $defaultOwnerName -Force
...
Start-SPMTMigration
ワークフローの移行
このコマンドは次のとおりです:
- サイトまたはリストのワークフローを移行し、
- 移行パッケージを生成し、
- パッケージを Power Automate にインポートし、
- 移行レポートを生成します。
MigrationType
MigrationType が WORKFLOW の場合、構造がまだ移行されていない場合、このコマンドはサイトまたはリスト構造 (コンテンツではなく) を移行してから、そのワークフローを移行します。
DefaultFlowOwnerEmail
ワークフロー定義に所有者がないため、OOTB (既定) 承認ワークフローには既定のフロー所有者が必要です。 移行後は、フローの所有者と Power Platform 管理者のみが移行されたフローにアクセスできます。 指定された所有者の電子メールが宛先の有効なユーザーでない場合、移行は失敗します。 フローの所有者には、宛先の SharePoint リストにアクセスするためのアクセス許可も必要です。
> Register-SPMTMigration -SPOCredential $targetCredential -UserMappingFile $userMappingFile -MigrationType WORKFLOW -DefaultFlowOwnerEmail $defaultOwnerName -Force
...
Start-SPMTMigration
PowerShell のサンプル スクリプト
Import-Module "$((Resolve-Path .\).Path)\Microsoft.SharePoint.MigrationTool.PowerShell.dll"
clear
Remove-Variable * -ErrorAction SilentlyContinue
$currentFolder = (Resolve-Path .\).Path
$userMappingFile = "$($currentFolder)\Sample-UserMap.csv"
$defaultOwnerName = "please enter flow owner email here"
$targetSite = "please enter destination site URL here"
$targetUserName = "please enter destination site admin user email here"
$targetPassWord = ConvertTo-SecureString -String "please enter destination user password here" -AsPlainText -Force
$targetCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $targetUserName, $targetPassWord
Register-SPMTMigration -SPOCredential $targetCredential -UserMappingFile $userMappingFile -IgnoreUpdate -MigrationType WORKFLOW -DefaultFlowOwnerEmail $defaultOwnerName -Force
$sourceSite = "please enter source site URL here"
$sourceUsername = "please enter source site admin username here"
$sourcePassword = ConvertTo-SecureString -String "please enter source user password here" -AsPlainText -Force
$sourceCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $sourceUsername, $sourcePassword
Add-SPMTTask -SharePointSourceCredential $sourcecredential -SharePointSourceSiteUrl $sourceSite -TargetSiteUrl $targetSite `
#-SourceList "please enter source list name here" -TargetList "please enter destination list name here"
Write-Host "Start migration"
$StartTime = [DateTime]::UtcNow
# Let the migration run in background using NoShow mode
Start-SPMTMigration -NoShow
$migration = Get-SPMTMigration
# open report folder
start $migration.ReportFolderPath
移行レポートとエラー コード
移行タスクは、移行については WorkflowMigrationReport.csv というタイトルのレポートと、スキャンについては WorkflowScanReport.csvというタイトルのレポートを生成します。 レポートは、 WF_xxx/Report/TaskReport_xxx/ フォルダにあります。