共用方式為


指令碼集合規則

 

適用於: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

指令碼集合規則定期執行指令碼,並將其輸出儲存為效能資料或事件。 建立規則的一部分,您需要指定哪一個屬性包值從指令碼或做為正在建立的事件或效能資料的不同屬性的目標物件的屬性。

選項

當您執行指令碼集合精靈時,您必須在下表中的選項提供值。 每個表格代表精靈中的一個頁面。

一般

選項

說明

規則名稱

使用規則的名稱。 這會出現在 規則 中檢視 撰寫 窗格。

說明

規則的選擇性描述。

管理組件

儲存監視的管理組件。

如需有關管理組件的詳細資訊,請參閱 選取管理封包檔

規則分類

規則類別。 事件集合規則,這應該是 事件集合。 效能集合規則,這應該是 效能集合

規則目標

若要使用規則的目標類別。 此規則將會有至少一個執行個體,這個類別的任何代理程式上執行。 如需目標的詳細資訊,請參閱 瞭解類別和物件

排程

排程 頁面定義的排程執行指令碼。 此規則已停用或刪除或解除安裝管理組件之前,指令碼會無限期地執行根據這個排程。

選項

說明

執行每個

指令碼應該執行的頻率。 這通常不應該少於 5 分鐘。

同步處理時間

如果啟用,也會發生在指定的時間同步排程。

指令碼

指令碼 頁面包含指令碼本身的主體和它的參數。 您可以直接在對話方塊中,輸入指令碼,但通常使用其他文字編輯器撰寫和接著指令碼的文字複製並貼上。 這可讓您使用更具功能性的編輯工具,並包含管理組件中前先測試命令列上的指令碼。

選項

說明

檔案名稱

指令碼的名稱。 必須根據其語言.vbs 或.js 副檔名。 這個名稱不需要具備唯一性,因為系統會在代理程式上為每個指令碼提供專屬的暫存目錄。

逾時

在停止指令碼可以執行代理程式之前的秒數。 這可防止問題指令碼一直執行,造成代理程式電腦負荷過重。

指派給指令碼的逾時值應提供足夠讓指令碼在正常情況下執行的時間,但應少於指令碼排程執行的間隔時間。 如果指令碼已設定為超過其持續時間,然後的逾時值可能無法同時執行多份指令碼。

指令碼

指令碼主體。

參數

按一下 [指令碼中的任何引數提供值。 如需詳細資訊,請參閱指令碼引數

[效能對應程式 (效能集合)

效能對應程式 頁用來定義要收集的效能資料的屬性值。

選項

說明

物件

物件名稱的文字。 這是必要的。

計數器

計數器名稱的文字。 這是必要的。

執行個體

執行個體名稱的文字。 才需要此項規則的目標有多個執行個體。

效能值的數值

事件對應程式 (事件集合)

事件對應程式 頁用來定義將收集的事件屬性值。 每個欄位的值將會是屬性的文字、 從屬性包的指令碼的值或目標物件值的明確字串。

選項

說明

電腦

在記錄事件的電腦名稱。 這通常是電腦的主體名稱的 $Target 變數。 您可以在文字方塊旁邊的省略符號按鈕,即可選取此值。

事件來源

事件來源。 這通常會將明確的值,但可能 $Data 變數來使用指令碼中的屬性值。

事件記錄檔

事件記錄檔的名稱。 這通常可能會明確的值或 $Data 變數來使用指令碼中的屬性值。

事件識別碼

數字的事件數目。 這通常將為明確的值或 $Data 變數來使用指令碼中的屬性值。

類別

E 參數 (整數介於 0 到 65535) 的值為 category 動態連結程式庫 (DLL) 訊息資料表,其中包含當地語系化的字串的索引。 每個發行者定義自己的類別集合。 通常,這些類別會對應到個別元件 (例如: 連接器、 模組主機或資料倉儲)。

層級

事件的嚴重性。 您可以從下拉式清單中選取此值。

建立指令碼集合規則

下列程序建立指令碼效能集合規則詳細資料如下:

  • 在任何電腦上執行安裝的特定服務的執行個體。

  • 指令碼接受兩個參數,一個用於電腦名稱,另一個版本的應用程式儲存為目標類別上的內容。

  • 指令碼本身是僅供測試,並執行實際的函式。 它會模擬執行綜合交易,並傳回屬性包與靜態值的指令碼。

若要建立指令碼為主的效能集合規則

  1. 如果您沒有要監視之應用程式的管理組件,請使用選取管理封包檔中的程序建立一個。

  2. 建立新的目標使用中的程序 若要建立 Windows 服務範本。 您可以使用此範本的測試代理程式安裝的任何服務。

  3. 在 Operations 主控台中,選取 撰寫 工作區中,然後選取 規則

  4. 以滑鼠右鍵按一下 規則 ,然後選取 建立新的規則

  5. 規則類型 頁面上,執行下列動作:

    1. 展開 集合規則, ,然後展開 探查型, ,然後選取 指令碼 (效能)

    2. 管理組件 下拉式清單中,選取步驟 1 中的管理組件。

    3. 按一下 [下一步]

  6. 在 [一般] 頁面中執行下列步驟:

    1. 規則名稱 方塊中,輸入 My Application Collect Script Performance

    2. 規則類別 下拉式清單方塊中,選取 Performance Collection

    3. 按一下 [ 選取

    4. 選取您在步驟 2 中建立的目標的名稱。

    5. 按一下 [確定]。

  7. 排程 頁面上,執行下列動作:

    1. 執行每個 方塊中,輸入 15 minutes

    2. 按一下 [下一步]

  8. 指令碼 頁面上,執行下列動作:

    1. 檔案名稱 值,請輸入 MyPerfCollectionScript.vbs

    2. 逾時 值,請輸入 1 分鐘

    3. 指令碼 方塊中,貼上下列指令碼的完整內容。

      sComputerName = WScript.Arguments(0)
      sVersion = WScript.Arguments(1)
      
      [oAPI.LogScriptEvent]
      Set oAPI = CreateObject("MOM.ScriptAPI")
      Set oBag = oAPI.CreatePropertyBag()
      Call oBag.AddValue("ComputerName",sComputerName)
      Call oBag.AddValue("InstanceName","MyInstance")
      Call oBag.AddValue("Value",10)
      
      oAPI.Return(oBag)
      
    4. 按一下 [ 參數 ] 按鈕。

    5. 選取 目標, ,請選取 (主機 = Windows 電腦), ,然後選取 主體名稱 (Windows 電腦)

    6. 輸入一個空格。

    7. 選取 目標 然後 版本 (我的電腦角色基底)

    8. 按一下 [確定]。

    9. 按一下 [下一步]。

  9. 效能對應程式 頁面上,執行下列動作:

    1. 物件 方塊中,輸入 MyApplication

    2. 計數器 方塊中,輸入 MyCounter

    3. 執行個體 方塊中,輸入 $Data/Property[@Name=FileName]$

    4. 方塊中,輸入 $Data/Property[@Name=’FileSize’]$

    5. 按一下 [建立]。

下列程序建立指令碼事件集合規則詳細資料如下:

  • 在任何電腦上執行安裝的特定服務的執行個體。

  • 指令碼接受兩個參數,一個用於電腦名稱,另一個版本的應用程式儲存為目標類別上的內容。

  • 指令碼本身是僅供測試,並執行實際的函式。 它會模擬執行綜合交易,並傳回屬性包與靜態值的指令碼。

若要建立指令碼型事件集合規則

  1. 如果您沒有要監視之應用程式的管理組件,請使用選取管理封包檔中的程序建立一個。

  2. 建立新的目標使用中的程序 若要建立 Windows 服務範本。 您可以使用此範本的測試代理程式安裝的任何服務。

  3. 在 Operations 主控台中,選取 撰寫 工作區中,然後選取 規則

  4. 以滑鼠右鍵按一下 規則 ,然後選取 建立新的規則

  5. 規則類型 頁面上,執行下列動作:

    1. 展開 集合規則, ,然後展開 探查型, ,然後選取 指令碼 (事件)

    2. 管理組件 下拉式清單中,選取步驟 1 中的管理組件。

    3. 按一下 [下一步]

  6. 在 [一般] 頁面中執行下列步驟:

    1. 規則名稱 方塊中,輸入 My Application Collect Script Event

    2. 規則類別 下拉式清單方塊中,選取 Event Collection

    3. 按一下 [ 選取

    4. 選取您在步驟 2 中建立的目標的名稱。

    5. 按一下 [確定]。

  7. 排程 頁面上,執行下列動作:

    1. 執行每個 方塊中,輸入 15 minutes

    2. 按一下 [下一步]

  8. 指令碼 頁面上,執行下列動作:

    1. 檔案名稱 值,請輸入 MyEventCollectionScript.vbs

    2. 逾時 值,請輸入 1 分鐘

    3. 指令碼 方塊中,貼上下列指令碼的完整內容。

      sComputerName = WScript.Arguments(0)
      sVersion = WScript.Arguments(1)
      
      Set oAPI = CreateObject("MOM.ScriptAPI")
      Set oBag = oAPI.CreatePropertyBag()
      Call oBag.AddValue("ComputerName",sComputerName)
      Call oBag.AddValue("EventID",100)
      Call oBag.AddValue("ParamValue","Param1")
      
      oAPI.Return(oBag)
      
    4. 按一下 [ 參數

    5. 選取 目標, ,請選取 (主機 = Windows 電腦), ,然後選取 主體名稱 (Windows 電腦)

    6. 輸入一個空格。

    7. 選取 目標 然後 版本 (我的電腦角色基底)

    8. 按一下 [確定]。

    9. 按一下 [下一步]。

  9. 事件對應程式 頁面上,執行下列動作:

    1. 電腦 方塊中,輸入 $Data/Property[@Name='ComputerName']$

    2. 事件來源 方塊中,輸入 MyApp

    3. 事件記錄檔 方塊中,輸入 CustomScript

    4. 事件識別碼 方塊中,輸入 $Data/Property[@Name='EventID']$

    5. 類別 方塊中,輸入 0

    6. 層級 方塊選取 Information

    7. 按一下 [ 參數 ] 按鈕。

    8. 型別 $Data/Property[@Name='ParamValue']$

    9. 按一下 [確定]。

    10. 按一下 [建立]。