blog by ficti0n: Получение информации по SNMP (Delphi)

воскресенье, 21 июня 2015 г.

Получение информации по SNMP (Delphi)

Появилась задача получать информацию с сетевых принтеров HP. Основная проблема это поиск необходимых OID (Object IDentificator - числовой идентификатор объекта в дереве MIB) для получения значений принтера. Вот тут есть интересная статья про MIB и OID. Информации по этому вопросу можно найти  в интернете много, поэтому приведу лишь код.




{ Функция SNMP опроса принтера }
Function SNMPQuery (Host, oid: string) : string;
     var
          s: String;
          i, j: Integer;
          SNMP: TIdSNMP;
          temps:string;
Begin
     SNMP := TIdSNMP.Create(nil);
     SNMP.Query.Host := Host;
     SNMP.Query.Port := 161;
     SNMP.Query.Community := 'public';
     SNMP.Query.PDUType := PDUGetRequest;
     SNMP.Query.MIBAdd(
oid,'');
try
     if SNMP.SendQuery then
          for i := 0 to SNMP.Reply.ValueCount - 1 do
           begin
             SNMPQuery:= SNMP.Reply.Value[i];
             temps:=SNMP.Reply.Value[0]
           end;
finally
     Application.ProcessMessages;
     SNMP.Free;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
  var
   Host: string;
  
oid:string[80];
Begin
     host:= '192.168.90.90';
    
oid:= '1.3.6.1.2.1.43.11.1.1.8.1.1';
     ShowMessage('Объем картриджа' + ': ' + SNMPQuery(host, mib));
end;                  

Комментариев нет:

Отправить комментарий