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 中配置的设备。

<提示> 在活动脚本监控工具和脚本性能监控工具中,您可从内容对象取得监控工具所属设备的设备 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:此正整数代表毫秒数;一旦过了这个时间,未解析请求就必须终止。

    <注意> 此方法失败时会返回值;您需要对象变量才能检索此值。例如:varComResult = SnmpRqst.SetTimeoutMs(5000);其中 varComResultComResult 对象。

ComResult 对象

SetNumRetries(
nNumberRetries
)

设定超时请求的重试次数。未指定时,失败的请求会重试一次。

  • nNumberRetries:正整数,代表超时请求的重试次数。

<提示> 若要让每个请求只发送一个 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 对象

<注意> 除非设备的 MIB 对象和群体字符串拥有读写权限,否则 Set 函数没有作用。

另请参阅

使用 SNMP API

CoreAsp.ComResult

CoreAsp.ComSnmpResponse

使用 SNMP API 的脚本范例

排除 SNMP API 问题