Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 是否可以从try..catch语句中提取多个SNMP值?_Powershell_Snmp - Fatal编程技术网

Powershell 是否可以从try..catch语句中提取多个SNMP值?

Powershell 是否可以从try..catch语句中提取多个SNMP值?,powershell,snmp,Powershell,Snmp,是否有办法提取多个SNMP值并在PowerShell中将其更新为新值? 我从UPS中提取了两个不同的OID,我希望将这些整数值保存到数据库表中 这是我的密码 $UPS_Temp_oid = '1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1' $Battery_Load_oid = '.1.3.6.1.4.1.318.1.1.1.4.2.3.0' $sql = "SELECT temp, batteryload, upsid, ups_ip FROM ups WHERE u

是否有办法提取多个SNMP值并在PowerShell中将其更新为新值? 我从UPS中提取了两个不同的OID,我希望将这些整数值保存到数据库表中

这是我的密码

$UPS_Temp_oid = '1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1'
$Battery_Load_oid = '.1.3.6.1.4.1.318.1.1.1.4.2.3.0'

$sql = "SELECT temp, batteryload, upsid, ups_ip FROM ups WHERE ups_ip IS NOT NULL"
$cmd = New-Object System.Data.SqlClient.SqlCommand($sql, $conn)
$rows = $cmd.ExecuteReader()

while ($rows.Read()) {
    $ups_id = $rows["upsid"]
    $ups_ip = $rows["ups_ip"].trim()
    $ups_temp = $rows["temp"]
    $battery_load = $rows["batteryload"]

    Write-Output $ups_id, $ups_ip, $ups_temp, $battery_load
    # Ping UPS
    $ping = New-Object System.Net.NetworkInformation.Ping
    $ping_reply = $ping.Send($ups_mgmt_ip) | select status

    # If success go call func SNMP
    if ($ping_reply.status -eq "Success") {
        try {
            $frm_snmp = Invoke-SNMPget $ups_ip $UPS_Temp_oid "community"
        } catch {
            Write-Host "$ups_mgmt_ip SNMP Get error: $_"
            return null
        }
我是否需要为电池负载创建另一个
try..catch
,或者我只是做一些类似的事情

Invoke-SNMPget ups_ip $ups_temp_oid, $nattery_load_oid "community"

查看for
Invoke SNMPget
,它接受该参数的多个OID,因此您应该能够同时传递这两个OID。谢谢我会读更多关于它的内容