Witajcie ! Może ktoś mi podpowiedzieć na jakiej zasadzie jest pobierana informacja przez protokół snmp v 3? Przez snmp v1 i 2 pobieram tak, ale v3 nie potrafie obsłużyć:
private string SetTestOIDOutput(string OID, string Version)
{
String snmpAgent = IPAddress;
SnmpVersion v = SnmpVersion.Ver1;
if (Version == "1") v = SnmpVersion.Ver1;
else if (Version == "2") v = SnmpVersion.Ver2;
else if (Version == "3") v = SnmpVersion.Ver3;
if (v == SnmpVersion.Ver1 || v == SnmpVersion.Ver2)
{
String snmpCommunity = "public";
SimpleSnmp snmp = new SimpleSnmp(snmpAgent, snmpCommunity);
Dictionary<SnmpSharpNet.Oid, AsnType> result = snmp.Get(v, new string[] { OID });
if (result == null)
{
return "Błąd";
}
else
{
string buff = "";
foreach (KeyValuePair<Oid, AsnType> entry in result)
{
buff += entry.Value.ToString();
}
return buff;
}
}
else
{
}
}
Znalazłem takie OIDY dla pobierania stanu tonerów drukarki:
a)
HP Maintenance Kit Cur: 1.3.6.1.2.1.43.11.1.1.9.1.2
HP Maintenance Kit Max: 1.3.6.1.2.1.43.11.1.1.8.1.2
b)
HP Toner Cur: 1.3.6.1.2.1.43.11.1.1.9.1.1
HP Toner Max: 1.3.6.1.2.1.43.11.1.1.8.1.1
c)
black:1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.10.1.1.37.1.0
cyan:1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.10.1.1.37.2.0
magenta:1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.10.1.1.37.3.0
yellow:1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.10.1.1.37.4.0
Tych OIDów z podpunktu ( b ) uzywałem do pobierania stanów tonerów, jednak przy drukarce HP laserjet 2055 dn za każdym razem ile by toneru nie było zapytanie zwraca mi wynik "-2". Pomoże ktoś?