CoreAsp.SnmpRqst

此物件可將 SNMP 要求傳送到遠端設備。

呼叫 InitializeInitialize2 的順序,必須比其他成員優先。

CoreAsp.SnmpRqst 使用的程序有三個步驟:

  1. 呼叫 InitializeInitialize2 可針對特定設備初始化此物件。
  2. 設定選用參數,例如逾時值、連接埠……等等。
  3. 對設備執行任何次數的 GetGetNextGetMultipleSet 作業。這些作業會直接傳回含有作業狀態與值的 ComSnmpResponse 物件 (使用 Failed/GetValue/GetOid),或以 XML 資料形式傳回 SNMP 變數繫結清單 (使用 GetPayload)。

    方法

    說明

    傳回

    Initialize(
    nDeviceID
    )

    nDeviceID 指定的設備 ID,初始化設備的 SnmpRqst 物件。若您未以有效的 SNMP 認證設定該設備,作業就會失敗。

    • nDeviceID:設備 ID 對應的正整數值。此 ID 屬於已在 WhatsUp Gold 中設定的設備。

    Tip: 在動態指令碼監控工具和指令碼效能監控工具中,您可從內容物件取得監控工具所屬設備的設備 ID:
    Context.GetProperty("DeviceID")

    ComResult 物件

    Initialize2(
    sDeviceAddress,
    nCredentialID
    )

    利用設備 IP 位址和 WhatsUp Gold 儲存的認證與設備連線,以初始化 SnmpRqst 物件。若您未在 WhatsUp Gold 中設定設備,只要在認證資料庫中設定該設備的認證,亦可用此法初始化設備的 SnmpRqst

    • sDeviceAddress:要查詢的設備位址或主機名稱。
    • nCredentialID:認證 ID 對應的正整數值。此 ID 屬於已在 WhatsUp Gold 中設定的認證。

    ComResult 物件

    SetTimeoutMs(
    nTimeoutInMilliSec
    )

    以毫秒數設定逾時值。未指定時,預設逾時值是 2000 毫秒。

    • nTimeoutInMilliSec:此正整數代表毫秒數;一旦過了這個時間,未解除要求就必須終止。

      Note: 此方法失敗時會傳回值;您需要物件變數才能擷取此值。例如:varComResult = SnmpRqst.SetTimeoutMs(5000);其中 varComResultComResult 物件。

    ComResult 物件

    SetNumRetries(
    nNumberRetries
    )

    設定逾時要求的重試次數。未指定時,失敗的要求會重試一次。

    • nNumberRetries:正整數,代表逾時要求的重試次數。

    Tip: 若要讓每個要求只傳送一個 SNMP 封包,請將 nNumberRetries 設為 0 (零)。

    ComResult 物件

    SetPort(
    nPort
    )

    設定要由 SnmpRqst 使用的 TCP/IP 連接埠。未指定時,使用連接埠 161。

    • nPort:1 ~ 65535 之間的正整數,代表要使用的連接埠。

    ComResult 物件

    Get(
    sOid
    )

    發出 SNMP Get 命令,擷取指定物件的值。

    • sOid:含有效 OID 的字串。

    ComSnmpResponse 物件

    GetNext(
    sOid
    )

    發出 SNMP GetNext 命令,依字典順序擷取指定物件後面的物件值。

    • sOid:含有效 OID 的字串。

    ComSnmpResponse 物件

    GetMultiple(
    sListOfOids
    )

    為指定的每個物件發出 SNMP Get 命令。GetMultiple 以單一 SNMP 通訊協定資料單元發送所有命令,因此比分別發出多個 Get 命令更有效率。

    • sListOfOids:以逗號分隔的有效 OID 清單。

    ComSnmpResponse 物件

    Set(
    sOid,
    sType,
    sValue
    )

    發出 SNMP Set 命令,在設備上設定 OID 值。

    • sOid:此字串包含的有效物件 OID,屬於您要為其設定數值的物件。
    • sType:單一字元,代表您要設定的數值類型。

      i = 整數

      u = 不帶正負號的整數

      s = 字串

      x = 十六進位字串

      d = 十進位字串

      n = NULL 物件

      o = 物件識別碼

      t = timetick

      a = IPv4 位址

      b = 位元數

    • sValue:包含所要設定值的字串。

    ComSnmpResponse 物件

Note: 除非設備的 MIB 物件和群體字串擁有讀寫權限,否則 Set 函數沒有作用。

另請參閱

使用 SNMP API

CoreAsp.ComResult

CoreAsp.ComSnmpResponse

使用 SNMP API 的指令碼範例

排除 SNMP API 問題