您可使用依序開始工作流程與同時開始工作流程,針對選擇物件執行工作流程。

開始之前

在工作流程編輯器中開啟工作流程以進行編輯。

執行這項作業的原因和時機

您無法直接執行依序開始工作流程及同時開始工作流程。您必須在建立的其他工作流程中加入。若要使用依序開始工作流程和同時開始工作流程執行選擇物件的工作流程,您必須取得執行工作流程的物件。您可傳遞這些工作流程需要的物件以及其他輸入參數至工作流程作為內容陣列。依序開始工作流程及同時開始工作流程會產生執行選擇物件工作流程的結果並當成 WorkflowToken 物件陣列。

您以相同方式執行依序開始工作流程及同時開始工作流程。依序開始工作流程會逐一執行各物件的工作流程。同時開始工作流程會同時執行所有物件的工作流程。

程序

  1. 在工作流程配置中,新增可編寫指令碼工作元素或動作,取得執行工作流程的物件清單。

    例如:若要在虛擬機器資料夾中執行所有虛擬機器的工作流程,您可新增 getAllVirtualMachinesByFolder 動作至工作流程。

  2. 連結執行指令元素或動作,並繫結執行指令元素或動作的輸入與輸出至工作流程輸入或屬性。

    例如:您可繫結 getAllVirtualMachinesByFolder 動作的 vmFolder 輸入至工作流程輸入參數,並將 actionResult 輸出繫結至呼叫工作流程中的工作流程屬性。

  3. 新增可編寫指令碼工作元素,以轉換物件清單至內容陣列。

    例如:若執行工作流程的物件屬於由 getAllVirtualMachinesByFolder 動作 actionResult 輸出傳回的虛擬機器陣列 allVMs,則您可撰寫下列指令碼,將物件轉換為內容陣列。

    propsArray = new Array();
    
    for each (var vm in allVMs) {
     var prop = new Properties();
     prop.put("vm", vm);
     propsArray.push(prop);
    }
  4. 繫結可編寫指令碼工作元素的輸入與輸出至工作流程屬性。

    3 的可編寫指令碼工作元素範例中,您需繫結輸入至虛擬機器的 allVMs 陣列及建立 propsArray 輸出屬性作為 Properties 物件的陣列。

  5. 新增工作流程元素至工作流程配置。
  6. 選擇依序開始工作流程或同時開始工作流程,並連結工作流程元素至其他元素。
  7. 繫結依序開始工作流程或同時開始工作流程的 wf 輸入至工作流程,以執行物件。

    例如:要使用 getAllVirtualMachinesByFolder 動作移除所有虛擬機器傳回的任何快照,請選擇移除所有快照工作流程。

  8. 繫結依序開始工作流程或同時開始工作流程的 parameters 輸入至包含執行工作流程物件的大量 Properties 物件。

    例如:繫結 parameters 輸入至 4 中定義的 propsArray 屬性。

  9. (選擇性) ︰ 繫結依序開始工作流程或同時開始工作流程的 workflowTokens 輸出至工作流程中的屬性。
  10. (選擇性) ︰ 繼續新增更多使用執行依序開始工作流程或同時開始工作流程的元素。

結果

您已建立使用依序開始工作流程或同時開始工作流程的工作流程,以執行選擇物件的工作流程。