共用方式為


還原刪除的流程

如果您或其他人意外刪除了非解決方案或解決方案流程,您可以在刪除後 21 天內將其還原。

有兩種方法可以還原已刪除的流程。

注意

  • 本文中的步驟同時適用於非解決方案和解決方案流程。
  • 在超過 21 天之前已刪除的流程無法復原。 還原方法 (PowerShell 腳本和 Power Automate 管理連接器) 以及 Microsoft 支援服務都無法協助還原它們。
  • 還原流程之後,它會預設為停用狀態。 您必須根據需求手動啟用流程。

使用 Power Automate 管理連接器恢復已刪除的流程

您可以使用 Power Automate ,在刪除 21 天之內還原已刪除的非解決方案或解決方案流程。 非解決方案流程是未在解決方案中建立的流程。 身為管理員,您所需要的只是一個包含兩個 Power Automate 管理連接器動作 (以管理員身分列出流程以管理員身分還原已刪除的流程) 的按鈕流程。

在此程式中,以四個簡單且快速的步驟執行,您將會在環境中使用清單流程做為系統管理動作來列出已刪除的流程。 接著,您將使用還原已被刪除的資料流程視為系統管理動作,將您從清單流程中檢索的流程 flowName 屬性設為系統管理動作。

  1. 使用按鈕觸發程式建立手動流程。

    使用按鈕觸發程式建立手動流程的螢幕擷取畫面。

  2. 清單流程新增為系統管理動作。

    1. 選取 + 新增步驟

    2. 搜尋 Power Automate 管理連接器清單流程為系統管理動作。

    3. 選擇清單流程新增為系統管理動作。

    4. 環境下拉式功能表中,選取最初從中移除流程的環境。

    5. 包括虛刪除的流程功能表中,選取

    將清單流程新增為管理員動作的螢幕擷取畫面。

  3. 執行流程,記下 flowName 您要取回的流程。

    1. 執行流程。

    2. 展開流程執行。

    3. 展開作為管理員的清單流程動作的原始輸出/值

      您將會看到該環境中您可以存取的所有流程 (包括虛刪除的系統管理員)。

    4. 在其他流中繼資料中使用 displayName,找出您要嘗試恢復的流程,並記下名稱欄位中的名稱。

      在下列螢幕擷取畫面中,流程名稱會以綠色加亮。 您會在下一個步驟中使用此數值。

      動出輸出中流程名稱的螢幕擷取畫面。

  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 }