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

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

注意事項

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

使用 SPMT 移轉工作流程

  1. 啟動 SPMT,然後提供你的 Microsoft 365 憑證。

  2. SharePoint 區塊中,選擇 新增遷移

  3. 選擇 單一來源網址

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

    選擇工作流程遷移。

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

  6. 輸入你的使用者名稱和密碼到 SharePoint 伺服器網站;可以是使用者 ID 或使用者電子郵件。 選取 [登入]

  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

移轉工作流程

此命令:

  • 遷移網站或清單的工作流程,
  • 產生遷移套件,
  • 將套件匯入 Power Automate,然後,
  • 產生移轉報告。

MigrationType

當遷移類型是 WORKFLOW 時,如果結構尚未遷移,指令會遷移網站或清單結構 (而非內容) ,然後再遷移其工作流程。

DefaultFlowOwnerEmail

預設流程擁有者是) 審核工作流程 (必須的,因為工作流程定義中沒有擁有者。 遷移後,只有流程擁有者和 Power Automate 管理員能存取遷移後的流程。 如果該擁有者電子郵件不是目的地的有效使用者,遷移就會失敗。 流程擁有者也需要有權限存取目的地 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 destination 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

$migration = Get-SPMTMigration

# open report folder
start $migration.ReportFolderPath

遷移報告與錯誤代碼

遷移任務會產生一份名為 WorkflowMigrationReport.csv 用於遷移的報告,以及另一份名為 WorkflowScanReport.csv的掃描報告。 報告存放於 WF_xxx/Report/TaskReport_xxx/ 資料夾中。

步驟 3: 啟動工作流程