恢复已删除的流

如果您或其他人意外删除了非解决方案或解决方案流,您可以在删除后 21 天内进行恢复。

有两种方法可以恢复已删除的流。

备注

  • 本文中的步骤仅适用于非解决方案和解决方案流。
  • 删除超过 21 天的流无法恢复。 两种恢复方法(PowerShell 脚本和 Power Automate 管理连接器)以及 Microsoft 支持部门都无法帮助恢复。
  • 恢复流后,它默认为禁用状态。 您必须根据您的要求手动启用流。
  • 有关还原 for 桌面创建的 Power Automate 已删除桌面流的更多信息,请参阅 恢复已删除的桌面流

使用 Power Automate 管理连接器恢复已删除的流

您可以使用 Power Automate 在删除后 21 天内恢复已删除的非解决方案或解决方案流。 非解决方案流是不是在解决方案中创建的流。 作为管理员,您只需要一个按钮流,其中包含两个 Power Automate 管理连接器操作—以管理员身份列出流以管理员身份恢复删除的流

作为此过程的一部分,您将执行四个简单快捷的步骤,首先使用以管理员身份列出流操作列出环境中已删除的流。 然后,您将使用以管理员身份恢复删除的流操作使用您从以管理员身份列出流操作检索到的流的 flowName 属性恢复流。

  1. 使用按钮触发器生成手动流。

    使用按钮触发器的手动流的屏幕截图。

  2. 添加以管理员身份列出流操作。

    1. 选择新建步骤

    2. 搜索 Power Automate 管理连接器以管理员身份列出流操作。

    3. 选择以管理员身份列出流操作。

    4. 环境下拉菜单中,选择最初从中删除流的环境。

    5. 包括软删除流下拉菜单中,选择

    添加“以管理员身份列出流”操作的屏幕截图。

  3. 运行流以记下您要检索的流的 flowName

    1. 运行流。

    2. 展开流运行。

    3. 展开以管理员身份列出流操作的原始 OUTPUTS/value

      您将看到该环境中您作为管理员有权访问的所有流,包括软删除的流。

    4. 使用“displayName”以及其他流元数据,识别您尝试恢复的流并记下“name”字段中的名称。

      在以下屏幕截图中,流的名称以绿色突出显示。 您在下一步中需要使用此值。

      操作输出中流名称的屏幕截图。

  4. 添加以管理员身份恢复删除的流操作并运行流。

    1. 从 Power Automate 管理连接器添加以管理员身份恢复删除的流操作。

    2. 字段中,输入步骤 3 中的名称值。

      添加“以管理员身份恢复删除的流”操作的屏幕截图。

    3. 运行流。

      成功运行流的屏幕截图。

    运行成功后,您会注意到流已在最初删除的环境中恢复为禁用状态。

    已恢复流的屏幕截图。

使用 PowerShell 恢复已删除的流

在本节中,您将了解如何使用 PowerShell 恢复已删除的流。

PowerShell 的先决条件

  1. 使用提升的特权打开 PowerShell 以开始。

    显示从 Windows 启动 PowerShell 的屏幕截图。

  2. 安装适用于 Power Apps 的 PowerShell cmdlet 的最新版本。

  3. 登录到您的 Power Apps 环境。

    使用此命令对环境进行身份验证。 此命令会打开一个单独的窗口,提示您输入 Microsoft Entra 身份验证详细信息。

    Add-PowerAppsAccount
    
  4. 提供您要用于连接到您的环境的凭据。

  5. 运行以下脚本获取环境中的流列表,包括在过去 21 天内软删除的流。

    如果无法识别 IncludeDeleted 参数,说明您可能在使用旧版本的 PowerShell 脚本。 确保您使用的是最新版本的脚本模块,然后重试这些步骤。

    Get-AdminFlow -EnvironmentName 41a90621-d489-4c6f-9172-81183bd7db6c -IncludeDeleted $true
    //To view examples: Get-Help Get-AdminFlow -Examples
    

    小费

    导航到环境中任何流的 URL 获取后续步骤所需的环境名称 (https://make.powerautomate.com/Environments/<EnvironmentName>/flows)。 如果您的环境名称包含 URL,请不要在 URL 中省略前缀词,例如,Default-8ae09283902-....

    显示 Get-AdminFlow 输出的屏幕截图。

  6. 或者,如果您知道要查找其 flowID 的已删除流的部分名称,也可以筛选流列表。 要执行此操作,使用与此脚本类似的脚本查找环境 3c2f7648-ad60-4871-91cb-b77d7ef3c239 中显示名称中包含字符串“Testing”的所有流(包括被软删除的流)。 256fe2cd306052f68b89f96bc6be643

    Get-AdminFlow Testing -EnvironmentName 3c2f7648-ad60-4871-91cb-b77d7ef3c239 -IncludeDeleted $true
    
  7. 记下要从上一步恢复的流的 FlowName 值。

  8. 运行以下脚本以在名为 Default-55abc7e5-2812-4d73-9d2f-8d9017f8c877 的环境中恢复 FlowName 值为 4d1f7648-ad60-4871-91cb-b77d7ef3c239 的软删除流。

    Restore-AdminFlow -EnvironmentName Default-55abc7e5-2812-4d73-9d2f-8d9017f8c877 -FlowName 4d1f7648-ad60-4871-91cb-b77d7ef3c239
     //To view examples: Get-Help Restore-AdminFlow -Examples
    
  9. 或者,您可以使用以下参数运行 Restore-AdminFlow 脚本来恢复多个已删除的流。

    foreach ($id in @( "4d1f7648-ad60-4871-91cb-b77d7ef3c239", "eb2266a8-67b6-4919-8afd-f59c3c0e4131" )) { Restore-AdminFlow -EnvironmentName Default-55abc7e5-2812-4d73-9d2f-8d9017f8c877 -FlowName $id; Start-Sleep -Seconds 1 }