CoreAsp.SnmpRqst

このオブジェクトは SNMP 要求をリモートデバイスに送信するために使用されます。

必ず [Initialize] または [Initialize2] を呼び出してから他のメンバーを呼び出してください。

CoreAsp.SnmpRqst は三段階のプロセスを使用します。

  1. [Initialize] または [Initialize2] を呼び出し、特定のデバイスに対してオブジェクトを初期化します。
  2. タイムアウトの値やポートなどのオプションのパラメータを設定します。
  3. デバイスに [Get][GetNext][GetMultiple] または [Set] などの操作を行います。これらの操作によって ComSnmpResponse オブジェクトが返されます。このオブジェクトには操作のステータスと値が含まれます (Failed/GetValue/GetOid を使用した場合、値は直接返され、GetPayload を使用した場合、SNMP 変数バインディングのリストが XML データとして返されます)。

メソッド

説明

返す内容

Initialize(
nDeviceID
)

nDeviceID で指定されたデバイス ID を持つデバイスの SnmpRqst オブジェクトを初期化します。デバイスが有効な SNMP 認証情報で設定されていない場合、操作は失敗します。

  • nDeviceID。WhatsUp Gold で設定されたデバイスのデバイス ID に対応する正の整数。

ヒント アクティブスクリプトモニタおよびスクリプトパフォーマンスモニタでは、モニタの割り当て先デバイスのデバイス ID を次の Context オブジェクトから取得できます。
Context.GetProperty("DeviceID")

ComResult オブジェクト

Initialize2(
sDeviceAddress、
nCredentialID
)

デバイスの IP アドレスおよび WhatsUp Gold に保存された認証情報を使用してデバイスへの接続を作成することで、SnmpRqst オブジェクトを初期化します。このメソッドを使用して、WhatsUp Gold で設定されていないデバイスの SnmpRqst を初期化できます。ただし、そのデバイスの認証情報が認証情報ライブラリで設定されていることが条件です。

  • sDeviceAddress。クエリ対象デバイスのアドレスまたはホスト名。
  • nCredentialID。WhatsUp Gold で設定された認証情報の認証情報 ID に対応する正の整数。

ComResult オブジェクト

SetTimeoutMs(
nTimeoutInMilliSec
)

タイムアウト値をミリ秒単位で設定します。指定されない場合、タイムアウト値はデフォルトで 200 ミリ秒になります。

  • nTimeoutInMilliSec。未解決の要求を終了する必要があるミリ秒数を表す正の整数。

    メモ このメソッドは、失敗したらある値を返し、その値を取得するためのオブジェクト変数を必要とします。例:varComResult = SnmpRqst.SetTimeoutMs(5000)。ただし、varComResultComResult オブジェクトです。

ComResult オブジェクト

SetNumRetries(
nNumberRetries
)

タイムアウトした要求を再試行する回数を設定します。指定されない場合、失敗した要求の再試行回数は 1 回です。

  • nNumberRetries。タイムアウトした要求を再試行する回数を表す正の整数。

ヒント 1 要求当たり SNMP パケットを 1 つだけ送信するには、nNumberRetries0 (ゼロ) に設定します。

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 では、すべてのコマンドを 1 つの SNMP プロトコルデータ単位に埋め込んで送信するので、複数の Get コマンドを個別に発行するより効率的です。

  • sListOfOids。有効な OID のコンマ区切りリスト。

ComSnmpResponse オブジェクト

Set(
sOid,
sType,
sValue
)

SNMP Set コマンドを発行し、デバイスに OID 値を設定します。

  • sOid。値を設定するオブジェクトの有効な OID を含む文字列。
  • sType。設定する値の種類に対応する単一文字列。

    i = 整数

    u = 符号なし整数

    s = 文字列

    x = 16 進数文字列

    d = 10 進数文字列

    n = NULL オブジェクト

    o = オブジェクト ID

    t = Timetick

    a = IPv4 アドレス

    b = ビット

  • sValue。設定する値を含む文字列。

ComSnmpResponse オブジェクト

メモ デバイスの MIB オブジェクトとコミュニティ文字列が読み取りと書き込みアクセス権を取得するまで [関数の設定] は機能しません。

参照

SNMP API の使用

CoreAsp.ComResult

CoreAsp.ComSnmpResponse

SNMP API を使用するスクリプトの例

SNMP API のトラブルシューティング