共用方式為


使用服務管理自動化將 Azure Pack 作業自動化Microsoft自動化

您可以使用 Service Management Automation (SMA) Runbook,將適用於 Windows Server 環境的 Azure Pack Microsoft例程作業自動化。 SMA Runbook 有兩種不同的類型:

類型 描述
PowerShell 工作流程 以 Windows PowerShell 工作流程為基礎的文字 Runbook。
PowerShell 以 Windows PowerShell 腳本為基礎的文字 Runbook。

PowerShell 工作流程 Runbook

PowerShell 工作流程 Runbook 是以 Windows PowerShell 工作流程為基礎。 您可以使用管理入口網站中的編輯器,直接編輯 Runbook 的程式代碼。 您也可以使用任何離線文字編輯器,並將 Runbook 匯入 SMA。

優點

  • 使用PowerShell工作流程程式代碼實作所有複雜的邏輯。
  • 發生錯誤時,請使用檢查點繼續 Runbook。
  • 使用 平行處理 以平行方式執行多個動作。
  • 包含其他 PowerShell 工作流程 Runbook 作為子 Runbook,以建立高階工作流程。

限制

  • 您必須熟悉 PowerShell 工作流程。
  • Runbook 必須處理 PowerShell 工作流程的額外複雜性,例如還原串行化的物件。
  • Runbook 需要比 PowerShell Runbook 更長的啟動時間,因為它必須在執行之前先進行編譯。
  • PowerShell Runbook 只能包含為子 Runbook,方法是使用 Start-SMARunbook Cmdlet 來建立新的作業。

PowerShell Runbook

PowerShell Runbook 以 Windows PowerShell 為基礎。 您可以使用管理入口網站中的編輯器,直接編輯 Runbook 的程式代碼。 您也可以使用任何離線文字編輯器,並將 Runbook 匯入 SMA。

優點

  • 使用 PowerShell 程式代碼實作所有複雜的邏輯,而不需要 PowerShell 工作流程的其他複雜度。
  • Runbook 的啟動速度比 PowerShell 工作流程 Runbook 更快,因為它不需要先編譯再執行。

限制

  • 您必須熟悉 PowerShell 腳本。
  • 您無法使用 平行處理 來平行執行多個動作。
  • 當發生錯誤時,您無法使用 檢查點 繼續 Runbook。
  • PowerShell 工作流程 Runbook 只能包含為子 Runbook,方法是使用 Start-SMARunbook Cmdlet 來建立新的作業。

SMA 如何執行 Runbook

啟動 Runbook 的要求是由 SMA Web 服務使用服務管理入口網站或 Start-SmaRunbook Windows PowerShell Cmdlet 來執行。 Web 服務會將此要求寫入至其中一部自動化背景工作伺服器所擷取的自動化資料庫。

如果填入 Runbook 的 RunbookWorker 屬性,則該背景工作伺服器會服務作業。 如果背景工作伺服器無法使用,則作業會失敗並出現錯誤。 如果未填入 Runbook 的 RunbookWorker 屬性,則 SMA 會隨機選取可用的背景工作伺服器來服務要求。

背景工作伺服器會建立在背景工作伺服器上執行的作業,該伺服器會服務要求,並從遠端訪問其將使用的任何電腦或其他資源。 這需要 Runbook 中的 Cmdlet 能夠從遠端存取這些資源。 或者,Runbook 可以包含 InlineScript 命令來使用 PowerShell 遠端,以便在目標電腦上本機執行命令。 下圖說明此概念。

Runbook 執行圖表。

如果工作暫停或中斷,它可以繼續在不同的背景工作伺服器上執行。 因此,您應該小心使用所有背景工作伺服器無法存取的本機資源,例如本機計算機上的檔案。 您應該盡可能使用全域資產,例如變數,在檢查點之間共享資訊。

權限

為了讓 Runbook 執行其必要的動作,它必須具有權限才能存取它所使用的資源。 SMA 中的 Runbook 一律會在自動化 Runbook 服務的服務帳戶內容中執行。 如果此帳戶沒有必要的許可權,您可以使用 Runbook 中的認證或連線全域資源,使用具有必要許可權的認證來執行必要的命令。 這些認證可使用透過參數接受認證的 Cmdlet,或使用替代認證以使用 InlineScript 來執行程式碼區塊。

下一步