Runbook 和模組作業

更新日期: 2014年4月

適用於: System Center 2012 R2 Orchestrator, Windows Azure Pack for Windows Server

根據您使用的是 Windows Azure Pack 管理入口網站或 Windows PowerShell 而定,建立及使用 Service Management Automation Runbook 的步驟會有所不同。 以下各節提供使用這兩種方法進行各種一般作業的基本步驟。

建立 Runbook

使用 Windows Azure Pack 管理入口網站建立 Runbook

當您使用系統管理員的管理入口網站建立 Runbook 時,您會先建立空的 Runbook,然後使用 自動化 編輯器進行編輯以建立指令碼。 您可以使用 Windows PowerShell 匯入現有的指令碼檔案來建立 Runbook。

使用 Windows Azure Pack 管理入口網站建立 Runbook

  1. 選取 [自動化]工作區。

  2. 在視窗底部,按一下 [新增]。

  3. 按一下 [快速建立]。

  4. 在 [Runbook 名稱] 方塊中輸入 Runbook ‏的名稱並將Naming recommendations列入考量。

  5. 或者您也可以在 [描述] 方塊中輸入描述,以及以逗號分隔的一或多個標記。

  6. 按一下 [建立]。

  7. 遵照 編輯 Runbook 中的其中一個程序編輯 Runbook 的內容。

使用 Windows PowerShell 建立 Runbook

  • 當您使用 Windows PowerShell 建立 Runbook 時,可以使用您選擇的編輯器來撰寫工作流程指令碼。 然後使用 Import-SmaRunbookCmdlet 匯入指令碼檔案並建立 Runbook。 指令碼檔案的名稱必須符合工作流程的名稱,而此名稱將用於 Runbook。

    當您建立 Runbook 時,可使用 –Tag 參數在 Runbook 上設定標記。 在建立 Runbook 之後,您就無法使用 Windows PowerShell 設定標記。

    下列範例命令可顯示如何建立 Runbook。 此範例

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    Import-SMARunbook –WebServiceEndpoint $webServer –Port $port –Path $runbookPath
    

編輯 Runbook 內容

除了某些服務存取 Runbook 時可能需要的標記以外,Runbook 的內容還包含其描述和記錄內容。 您可以使用系統管理員的管理入口網站或使用 Set-SMARunbookConfiguration Cmdlet 編輯這些內容。 現有的 Runbook 無法使用 Windows PowerShell 修改標記內容,但只能在使用 Import-SMARunbook 在建立 Runbook 時進行設定。

使用 Windows Azure Pack 管理入口網站編輯 Runbook 內容

  1. 選取 [自動化]工作區。

  2. 在視窗頂端,按一下 [Runbook]。

  3. 尋找要編輯的 Runbook 並按一下其名稱。

  4. 在視窗頂端,按一下 [設定]。

  5. 設定應變更的任何內容。

  6. 在完成編輯時按一下 [儲存]。

使用 Windows PowerShell 編輯 Runbook 內容

  • 下列範例命令可顯示如何設定 Runbook 的內容。 在此範例中,會修改 [描述] 和 [偵錯記錄] 內容。

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    Set-SMARunbookConfiguration –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Description "Sample runbook" –LogDebug $true
    

編輯 Runbook

一旦建立了 Runbook,您就可以編輯其工作流程的草稿版本。 然後稍後發佈 Runbook草稿版本,以便於在生產中執行。

系統管理員的管理入口網站包含您可用來檢視和編輯 Runbook 的編輯器。 除了提供文字編輯功能以外,編輯器還可提供自動插入全域設定、活動和 Runbook 程式碼的功能。

自動化 編輯器包含可將活動、設定和 Runbook 的程式碼自動插入 Runbook 的功能。 除了自行輸入程式碼以外,您還可以在可用的資產清單中選取,並將適當的程式碼插入 Runbook。

使用 Windows Azure Pack 管理入口網站編輯 Runbook

  1. 選取 [自動化]工作區。

  2. 在視窗頂端,按一下 [Runbook]。

  3. 尋找要編輯的 Runbook 並按一下其名稱。

  4. 在視窗頂端,按一下 [撰寫]。

  5. 按一下 [草稿]。

  6. 執行必要的編輯。

  7. 在完成編輯時按一下 [儲存]。

在 Runbook 中插入程式碼

在 Runbook 中插入 Runbook 的程式碼

  1. 在 SMA 編輯器中開啟 Runbook。

  2. 在視窗底部,按一下 [插入],然後按一下 [Runbook]。

  3. 從中間欄選取要插入的 Runbook 並按一下向右鍵。

  4. 如果 Runbook 具有參數,將會列出供您參考。

  5. 按一下 [檢查] 按鈕。

  6. 用於執行 Runbook 的程式碼將會插入 Runbook 中。

  7. 如果 Runbook 需要參數,請在大括號 <> 內的資料類型中提供適當的值。

將全域設定插入 Runbook

  1. 在 SMA 編輯器中開啟 Runbook。

  2. 在視窗底部,按一下 [插入],然後按一下 [設定]。

  3. 在 [設定動作] 欄中,選取您需要的程式碼類型

  4. 從中間欄中可用的資產進行選取。

  5. 按一下 [檢查] 按鈕。

將活動插入 Runbook

  1. 在 SMA 編輯器中開啟 Runbook。

  2. 在視窗底部,按一下 [插入],然後按一下 [活動]。

  3. 在 [整合模組] 欄中,選取包含活動的模組。

  4. 在 [活動] 窗格中選取活動。

  5. 在 [描述] 欄中,記下活動的描述。 您也可以選擇按一下 [檢視詳細說明] 在瀏覽器中開啟活動的說明。

  6. 按一下向右鍵。

  7. 如果活動具有參數,將會列出供您參考。

  8. 按一下 [檢查] 按鈕。

  9. 用於執行活動的程式碼將會插入 Runbook 中。

  10. 如果活動需要參數,請在大括號 <> 內的資料類型中提供適當的值。

請注意,只有匯入 SMA 中的模組的活動才能在 [插入] 功能中使用。 任何來自安裝在 Worker 伺服器上模組的 Cmdlet,則都可以在 Runbook 中使用,但若未匯入 SMA,編輯器就無法識別這些 Cmdlet。 如需詳細資料,請參閱本指南的<Modules>一節。

使用 Windows PowerShell 編輯 Runbook

若要使用 Windows PowerShell 編輯 Runbook,您可以使用選擇的編輯器編輯指令碼,然後將其儲存至 .ps1 檔案。 您可以使用 Get-SmaRunbookDefinition 擷取 Runbook 的內容,然後使用 Edit-SmaRunbook Cmdlet,以修改過的指令碼取代現有的指令碼。

使用 Windows PowerShell 擷取 Runbook 的內容

  • 下列範例命令可顯示如何擷取 Runbook 的指令碼。 在此範例中,會擷取草稿版本。 您也可以擷取已發佈版本的 Runbook,不過此版本無法變更。

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    $content = Get-SMARunbookDefinition –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Type Draft
    

使用 Windows PowerShell 變更 Runbook 的內容

  • 下列範例命令可顯示如何以指令碼檔案的內容取代 Runbook 的現有內容。

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook'
    $runbookName = 'Sample-TestRunbook'
    Edit-SMARunbook –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Path $runbookPath
    

測試 Runbook

您可以在發佈 Runbook 的草稿版本之前先進行測試。 這可讓您透過覆寫現有的已發佈版本,先驗證其作業之後再用於生產。 當您測試 Runbook 時,系統會執行草稿版本,並將任何輸出傳送至系統管理員管理入口網站中的 [輸出窗格]。

在測試 Runbook 時,其輸出寫入至 自動化 資料庫的速度會比生產時執行的 Runbook 速度更快,因為系統會假設系統管理員正在與測試版本互動。 此外,無論 Runbook 設定中的設定值為何,在執行測試時,「偵錯」、「詳細資訊」和「進度」串流都會停用。 您可以設定適當的 [喜好設定變數]http://technet.microsoft.com/zh-tw/library/hh847796.aspx,在指令碼中將其開啟。

使用 Windows Azure Pack 管理入口網站測試 Runbook

  1. 選取 [自動化]工作區。

  2. 在畫面頂端,選取 [Runbook]。

  3. 尋找要編輯的 Runbook 並按一下其名稱。

  4. 在畫面頂端,按一下 [撰寫]。

  5. 按一下 [草稿]。

  6. 在畫面底部,按一下 [測試]。

  7. 按一下 [是] 以驗證訊息。

  8. 如果 Runbook 具有參數,畫面上會顯示對話方塊,讓您提供每個參數的值。

  9. 在 [輸出窗格] 中檢查輸出。

發佈 Runbook

每個 Runbook 都有一個「草稿」及「已發佈」版本。 不過您只能執行「已發佈」版本,且只有「草稿」版本才能進行編輯。 「草稿」版本的任何變更都不會對「已發佈」版本造成影響。 當「草稿」版本可供使用時,您就可以發佈該版本,而「草稿」版本會覆寫「已發佈」版本。

使用 Windows Azure Pack 管理入口網站發佈 Runbook

  1. 選取 [自動化]工作區。

  2. 在畫面頂端,選取 [Runbook]。

  3. 尋找要編輯的 Runbook 並按一下其名稱。

  4. 在畫面頂端,按一下 [撰寫]。

  5. 按一下 [草稿]。

  6. 在畫面底部,按一下 [發佈]。

  7. 按一下 [是] 以驗證訊息。

使用 Windows PowerShell 發佈 Runbook

  • 下列範例命令可顯示如何發佈 Runbook。

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    Publish-SMARunbookDefinition –WebServiceEndpoint $webServer –Port $port –Name $runbookName
    

列舉已安裝的模組

使用 Windows Azure Pack 管理入口網站取得已安裝模組的清單

  1. 選取 [自動化]工作區。

  2. 在視窗頂端,按一下 [資產]。

  3. 在 [模組] 類型的清單中檢查資產。

使用 Windows PowerShell 取得已安裝模組的清單

  • 下列範例命令會擷取安裝在 SMA 中的所有模組。

    $webServer = 'https://MyWebServer'
    $port = 9090
    Get-SMAModule –WebServiceEndpoint $webServer –Port $port
    

建置整合模組

Integration Module是一種套件,其中包含 Windows PowerShell 模組。 如需寫入 Windows PowerShell 模組的相關資訊,請參閱 Writing a Windows PowerShell Module (寫入 Windows PowerShell 模組)。 整合模組可包含 Windows PowerShell 模組中指定的任何有效模組類型。 其中包括指令碼模組 (.psm1)、二進位模組 (.dll) 和資訊清單模組。

整合模組套件是一種壓縮檔,其名稱與模組相同且副檔名為 .zip。 其中包含單一資料夾,其名稱也與模組相同。 Windows PowerShell 模組以及任何支援的檔案都必須包含在此資料夾中,如果模組具有資訊清單檔 (.psd1),則該檔案也必須包含在其中。

如果模組應包含連線類型,則必須也包含名為 <ModuleName>-Automation.json 的檔案,以指定連線類型內容。 這是一種具有下列格式的 json 檔案。

{ 
   "ConnectionFields": [
   {
      "IsEncrypted":  false,
      "IsOptional":  false,
      "Name":  "ComputerName",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  false,
      "IsOptional":  true,
      "Name":  "Username",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  true,
      "IsOptional":  false,
      "Name":  "Password",
   "TypeName":  "System.String"
   }],
   "ConnectionTypeName""DataProtectionManager",
   "IntegrationModuleName""DataProtectionManager"
}

 

資料夾 檔案

MyModule

MyModule.psd1

MyModule-Automation.json

匯入模組

模組是一種副檔名為 .zip 的壓縮檔,其中具有資料夾且內含下列其中一種檔案類型:

  • 模組 (psm1 檔)

  • 模組資訊清單 (psd1 檔)

使用 Windows Azure Pack 管理入口網站匯入模組

  1. 選取 [自動化]工作區。

  2. 在視窗底部,按一下 [匯入模組]。

  3. 按一下 [瀏覽檔案]。

  4. 選取模組檔案並按一下 [確定]。

  5. 按一下對話方塊中的核取記號按鈕。

使用 Windows PowerShell 匯入模組

  • 下列範例命令可顯示如何匯入模組。

    $webServer = 'https://MyWebServer'
    $port = 9090
    $modulePath = 'C:\Modules\MyModule.psm1'
    Import-SMAModule –WebServiceEndpoint $webServer –Port $port –Path $modulePath
    

列舉模組中的活動

使用 Windows Azure Pack 管理入口網站取得模組中的活動清單

  1. 選取 [自動化]工作區。

  2. 在視窗頂端,按一下 [資產]。

  3. 找出模組並加以選取。

  4. 捲動至 [模組詳細資訊] 畫面的底部,並檢查其活動。

  5. 您也可以選擇按一下放大鏡圖示以篩選出特殊活動。

使用 Windows PowerShell 取得模組中的活動清單

  1. 下列範例命令可顯示如何擷取特殊模組中的活動。

    $webServer = 'https://MyWebServer'
    $port = 9090
    $moduleName = 'MyModule'
    $module = Get-SMAModule –WebServiceEndpoint $webServer –Port $port –Name $moduleName
    $module.Activities
    

使用 Windows PowerShell 取得所有模組中的活動清單

  • 下列範例命令可顯示如何擷取安裝在 SMA 中的所有模組中的活動。

    $webServer = 'https://MyWebServer'
    $port = 9090
    $modules = Get-SMAModule –WebServiceEndpoint $webServer –Port $port
    $modules | foreach {$_.Activities} | sort Name,ModuleName | ft Name,ModuleName,Description
    

另請參閱

-----
For additional resources, see Information and Support for System Center 2012.

Tip: Use this query to find online documentation in the TechNet Library for System Center 2012. For instructions and examples, see Search the System Center 2012 Documentation Library.
-----
顯示: