步驟 2:將工作流程移轉至 Power Automate

設定必要的端點並設定 Power Automate 之後,即可開始移轉 SharePoint Server 工作流程。 您可以選擇使用 SPMT 或 PowerShell。

注意事項

如果已成功移轉工作流程,SPMT 會略過工作流程。 如果您想要執行新的移轉來覆寫移轉的流程,請先從目的地刪除它,再啟動移轉。

使用 SPMT 移轉工作流程

  1. 啟動 SPMT,然後提供您的 Microsoft 365 認證。

  2. [SharePoint ] 區段中,選取 [新增移轉]。

  3. 選取 單一來源 URL

  4. 選取 [工作流程移轉] 類型。

    選取工作流程移轉。

  5. 輸入您內容所在的 SharePoint Server 網站 URL。

  6. 在 SharePoint Server 網站輸入您的使用者名稱和密碼;它可以是 UserID 或使用者電子郵件。 選取 [登入]

  7. 選取要包含在移轉中的工作流程。 如果您選取特定清單的選項,系統會提示您輸入清單名稱。

    SPMT 工作流程來源。

  8. 輸入目的地; 您要在其中移轉工作流程的 SharePoint 網站和清單。 選取工作流程環境。 如果網站或清單目前不存在,則會為您建立它們。 選取 [下一步]

    選取目的地和環境。

  9. 這項工作會加入到移轉任務的清單中。 如果您想要選取另一組要遷移的資料檔案,請選取 [新增來源]。 否則,選取 [下一步] 移至下一個步驟。

  10. 在 [設定] 頁面上,開啟 [僅執行掃描] 以執行工作流程掃描。

  11. [Power Automate 流程擁有者] 方塊中,輸入新流程擁有者的電子郵件地址。

    設定您的工作流程設定。

  12. 選取 [檢視所有設定],然後在 [處理不支援的動作] 下選擇您的選項。 如果您選取 [停止工作流程移轉並回報錯誤],SPMT 會在工作流程中回報包含不支援動作的錯誤。 否則,不支援的動作會在移轉期間轉換成撰寫動作。

  13. 如果選擇了“僅執行掃描”,請選擇 掃描 以開始掃描;或選取 [ 移轉] 以開始移轉。

使用 PowerShell 移轉工作流程

或者,您可以使用 PowerShell 將工作流程移轉至 Power Automate。 在繼續之前,請務必完成本文中的步驟: 步驟 1 - 設定端點和 Power Automate

掃描工作流程

此命令掃描指定網站或清單的工作流程,並產生掃描報告。


Register-SPMTMigration -ScanOnly $true -SPOCredential $targetCredential -UserMappingFile $userMappingFile -MigrationType WORKFLOW -DefaultFlowOwnerEmail $defaultOwnerName -Force
...
Start-SPMTMigration

移轉工作流程

此命令:

  1. 移轉網站或清單的工作流程,
  2. 產生移轉套件,
  3. 將套件匯入 Power Automate,以及
  4. 產生移轉報告。

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/ 資料夾中。

步驟 3: 啟用工作流程