Powershell 是否可以从try..catch语句中提取多个SNMP值?
是否有办法提取多个SNMP值并在PowerShell中将其更新为新值? 我从UPS中提取了两个不同的OID,我希望将这些整数值保存到数据库表中 这是我的密码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
$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。谢谢我会读更多关于它的内容