步骤 2:将工作流迁移到 Power Automate

注意

此功能目前处于公共预览阶段,并且可能发生变更。

配置所需的终结点并配置 Power Automate 之后,即可开始迁移 SharePoint Server 工作流。 选择使用 SPMT 或 PowerShell。

注意

SPMT 将跳过工作流(如果已成功迁移)。 如果要运行新迁移来替代已迁移的流,请在开始迁移之前将其从目标中删除。

使用 SPMT 迁移工作流

  1. 启动 SPMT。输入 Microsoft 365 用户名和密码。

  2. 选择“开始第一个迁移”

  3. 选择“SharePoint Server”

  4. 选择 工作流迁移 类型。

    选择工作流迁移

  5. 输入内容所在的 SharePoint Server 网站 URL。

  6. 将用户名和密码输入到 SharePoint Server 网站;可以是用户 ID 或用户电子邮件。 选择“登录”。

  7. 选择要包含在迁移中的工作流。 如果选择特定列表的选项,系统将提示输入列表名称。

    spmt 工作流源

  8. 输入目标;要向其中迁移工作流的 SharePoint 网站和列表。 选择工作流环境。 如果网站或列表当前不存在,则将为你创建它们。 选择 下一步

    选择目标和环境

  9. 此任务将添加到迁移任务列表中。 如果要选择另一组要迁移的数据文件,请选择“添加源”。 否则,请选择“下一步”以转到下一步。

  10. 在设置页上,启用“仅执行扫描”以运行工作流扫描。

  11. 在“Power Automate 流所有者”框中,输入新流所有者的电子邮件地址。

    设置工作流设置

  12. 选择“查看所有设置”,然后选择 “处理不受支持的操作”下的选项。 如果选择“停止工作流迁移”和“报告错误”,则 SPMT 将报告工作流上的错误(如果其中包含不受支持的操作)。 否则,不支持的操作会在迁移过程中转换为 Compose 操作。

  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

当 MigrationType 为 WORKFLOW 时,如果尚未迁移结构,则该命令将迁移站点或列表结构(非内容),然后迁移其工作流。

DefaultFlowOwnerEmail

OOTB 审批工作流需要默认流所有者,因为工作流定义中没有任何所有者。 迁移后,只有流所有者和 Power Automate 管理员才能访问迁移的流。 如果给定的所有者电子邮件不是目标位置的有效用户,则迁移将失败。 流所有者还需要具有访问目标 SPO 列表的权限。


> 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: 激活工作流