sebastianl
Goto Top

SNMP Abfrage in EXCEL über VBA

Hallo Zusammen,

Erstmal zum Sachverhalt:
Ich habe mehrere Drucker (ca. 50) die über SNMP ansprechbar sind. Mein Ziel ist über eine Schaltfläche im Excel die Zählerstände der Drucker auszulesen und in von mir festgelegte Zellen reinzuschreiben.
Die OIDs habe ich bereits alle rausgelesen und kann die abfragen über die Eingabeaufforderung ausführen und bekomme das richtige Ergebnis raus.
Leider bin ich ziemlich neu auf dem Gebiet Visual Basic und weiß jetzt nicht wie ich das machen kann.

Gibt es eine Möglichkeit die Abfrage im VBA auszuführen?

Wenn jemand ein Beispiel hat wäre das sehr hilfreich.
So ein Quelltext mit einer SNMP Abfrage zum Beispiel, muss sich ja nicht unbedingt auf Drucker beziehen.

Habe schon versucht das hier zu testen aber damit kann ich nichts anfangen:
http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=we ...

Eine Alternative zu VBA kann ich leider nicht nehmen weil die Werte in eine bestehende Excel Tabelle eingefügt werden sollen, welche automatisch die Druckkosten berechnet.

Freue mich über jede Hilfe

Content-Key: 330660

Url: https://administrator.de/contentid/330660

Printed on: April 26, 2024 at 21:04 o'clock

Mitglied: 132272
132272 Feb 27, 2017 updated at 14:32:53 (UTC)
Goto Top
http://naterice.com/vbscript-snmp-queries/
http://www.vbsedit.com/scripts/network/snmp/scr_923.asp

Wenns Strings sind geht auch:
Set objSNMP = CreateObject("OlePrn.OleSNMP")  
objSNMP.Open "10.10.1.1","public",2,1000  
strValue = objSNMP.Get(".1.3.6.1.2.1.2.2.1.2.1")  
objSNMP.Close
MsgBox strValue
Gruß
Member: em-pie
em-pie Feb 27, 2017 at 14:30:19 (UTC)
Goto Top
Moin,

wieso kannst du mit dem Link nichts anfangen?
zu kompliziert oder läuft es bei dir nicht?

Wenn letzteres erhältst du einen Fehler?

Gruß
em-pie
Member: SebastianL
SebastianL Feb 27, 2017 at 14:58:45 (UTC)
Goto Top
Moin,

Ich würde sagen zu kompliziert, habe das mal eingegeben und den Pfad zu snmpget und die OID angepasst.
Problem ist: ich habe keine Ahnung wo da die IP Adresse rein soll.
Ich kann auch nicht rauslesen wo da die Ausgabe in der Excel Tabelle angegeben ist.

Bzw. ist für mich da nicht erkennbar, welche Werte von mir geändert werden müssen und was fix ist.
(Außer OID und Pfad zu snmpget)
Member: em-pie
em-pie Feb 27, 2017 updated at 15:29:29 (UTC)
Goto Top
OK...

also, der in dem von dir geposteten Link dargstellte Code ist eine Funktion, welche erst mal aufgerufen werden will.

Diese Funktion rufst du auf und übergibst aich in der folgenden Reihenfolge die entsprechenden Parameter:
=SNMPGET([IP], [CommunityString], [OID])
  • [IP] ist klar
  • [CommunityString] ist i.d.R. public (sofern man nichts anderes an den Devices eingestellt hat)
  • [OID] Dein abzufragender SNMP-Wert in bezifferter Benennung , so wie es aussieht, also z.B. 1.13.5.7....


Und eine Funktion kannnst du aus jeder Zelle aufrufen:
Hilfe dazu hier: http://www.herbert-kaiser.net/excel/kreis.php

Nachtrag:
Was mir gerade ein-/ auffällt:
Mit jeder Abfrage erhältst du aber nur immer die aktuellsten Zählerstände.
Ein Delta in Form eines Monatsverbrauches erzeugst du dir so nicht, da müsstest du dir den Wert schon über einen passenden Code in eine Zelle schreiben und mit jedem neuen Aufruf prüfen, was die jüngste Zelle ist, eine Zelle weiterspringen und dort dann den neuen Wert eintragen...
Member: laster
laster Feb 27, 2017 at 22:10:30 (UTC)
Goto Top
Hallo Sebastian,
wenn es nur um die Auswertung der Verbräuche geht, also pro Drucker eine Oid, dann nimm doch PRTG, 100 Sensoren free.
Hast dann noch eine Statistik Un Notifikatoon, wenn Wert überschritten......
vG
LS
Member: SebastianL
SebastianL Mar 09, 2017 at 14:55:20 (UTC)
Goto Top
Hallo,

das mit dem PRTG klingt schon mal ganz gut.
Es geht aber nicht nur darum die Zählerstände auszulesen, sondern diese auch automatisch in von mir bestimmte Zellen in einer Excel Tabelle einzutragen.

Kann das PRTG das, oder zeigt es die Auswertung wenn dann nur in der Weboberfläche an?

Gruß
Sebastian
Member: laster
laster Mar 09, 2017 at 16:18:14 (UTC)
Goto Top
Hallo Sebastian,

über Notifikationen kann bei Änderung des gemessenen Wertes ein Script (cmd, powershell) gestartet werden.
Ausserdem gibt es eine API, über die alle Werte der Sensoren abgefragt werden können. Such mal nach "paessler api"

vG
LS