步骤 2:将工作流迁移到 Power Automate
注意
此功能目前处于公共预览阶段,并且可能发生变更。
配置所需的终结点并配置 Power Automate 之后,即可开始迁移 SharePoint Server 工作流。 选择使用 SPMT 或 PowerShell。
注意
SPMT 将跳过工作流(如果已成功迁移)。 如果要运行新迁移来替代已迁移的流,请在开始迁移之前将其从目标中删除。
使用 SPMT 迁移工作流
启动 SPMT。输入 Microsoft 365 用户名和密码。
选择“开始第一个迁移”。
选择“SharePoint Server”。
选择 工作流迁移 类型。
输入内容所在的 SharePoint Server 网站 URL。
将用户名和密码输入到 SharePoint Server 网站;可以是用户 ID 或用户电子邮件。 选择“登录”。
选择要包含在迁移中的工作流。 如果选择特定列表的选项,系统将提示输入列表名称。
输入目标;要向其中迁移工作流的 SharePoint 网站和列表。 选择工作流环境。 如果网站或列表当前不存在,则将为你创建它们。 选择 下一步。
此任务将添加到迁移任务列表中。 如果要选择另一组要迁移的数据文件,请选择“添加源”。 否则,请选择“下一步”以转到下一步。
在设置页上,启用“仅执行扫描”以运行工作流扫描。
在“Power Automate 流所有者”框中,输入新流所有者的电子邮件地址。
选择“查看所有设置”,然后选择 “处理不受支持的操作”下的选项。 如果选择“停止工作流迁移”和“报告错误”,则 SPMT 将报告工作流上的错误(如果其中包含不受支持的操作)。 否则,不支持的操作会在迁移过程中转换为 Compose 操作。
如果选择“仅执行扫描”,请选择“ 扫描 ”以开始扫描;或选择“ 迁移 ”以开始迁移。
使用 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/ 文件夹中。