Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Druckerinformationen auslesen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich suche nach einem Programm, womit man alle seine Drucker im Netzwerk und damit verbundene Informationen auslesen kann.

Sprich, ich gebe bei dem Programm den IP Bereich an, und das Programm liest die Informationen wie Zählerstand, Tonerstand, Seriennummer, Gerätemodell etc. aus.

Gibt es so etwas? Kann man sich es ggf. selbst programmieren. Am Besten als Export in eine Excel-Tabelle, die kann ich dann auch wunderbar in meine Datenbank importieren :bimei

Habe heute im Angebot von einer Druckerfirma folgendes Produkt gelesen:

DocNavigator

Vielleicht kennt jemand ein Produkt, welches es kann. Wäre super!!

Ich lass das immer morgens mit snmpget abfragen und in eine DB schreiben.

Versuch mal mit dem Tool GetIf an die mib-Tabelle zu kommen. Das geht nach Eingabe der IP-Adresse im Programm.

Danach musst du dich durch die Liste friemeln...da steht dann irgendwo das, was du suchst.

Noch etwas zum Tonerstand. Der muss berechnet werden. Weiß jedoch nicht mehr wie. Das steht aber hier: t-error.ch - Tonerstand von HP Laserjets mit SNMP auslesen

Gruß

Dr.Flash

snmpget? Ist das ein Programm oder ein Befehl eines Programms? Wo bekomme ich es her und vorallem Informationen über diese Methode.

Aber ich bin schon mal froh, dass es so etwas gibt und ich eine so schnelle Antwort erhalten habe!

Primär liegt das Augenmerk auf den Zählerstand. Bei manchen Geräten wäre eine unterscheidung nach S/W, Farbe, Blatt gescannt, Blatt gedruckt, Blatt kopiert

Bearbeitet von Steusi

snmpget ist ein Befehl/Tool unter Linux. Das muss nach-installiert werden, weil kein Standart ;)

Also auch noch Linux, dann muss ich erstmal gucken. Als was speichert er das Ergebnis?

Aber unter PHP gibt es snmpget auch :D

unter php snmpget? glaub ich nich....vielleicht nen execute aufm server

Du bekommst einfach nen Text --> den Zählerstand zurück...ähnlich wie bei t-error.ch - Tonerstand von HP Laserjets mit SNMP auslesen beschrieben. Speichert tut dir das Ding nix. Das zerrt dir den Zählerstand aus dem Drucker und zeigt ihn dir. Was du dann mit dieser Zahl machst, bleibt dir überlassen. ;)

Aber du musst es doch auch irgendwie speichern?

Kennst du Nagios, das läuft ja auch über Linux und kann das Ausgeben, nur ich muss die Daten irgendwie abspeichern und in meine Datenbank bekommen! Nur weiß ich nicht wie man es mit Linux realisieren kann, als erstes werde ich mal versuchen das Tool zu installieren.

Nimm doch den Web JetAdmin von HP.

..oder den HP WebJetAdmin. An den kommt man aber schwer ran, wenn ich mich recht erinner. Ansonsten benötigst du ein Script


$gedrS = qx(/usr/bin/snmpget -c public -v1 192.168.55.159 .1.3.6.1.2.1.43.10.2.1.4.1.1 -Ovq); //Zählestand

$sql = qq(INSERT INTO VerbrauchS (Zeit,IP_Adr,gedrSeiten,DruckerID) Values (Now(),...')); //die INSERT-Query

$dbh->do("$sql"); // Query ausführen

Bearbeitet von Dr.Flash

Web JetAdmin, werde ich mir als erstes ansehen. Hm wir es sind aber nicht nur HP-Drucker im Netzwerk, mal sehen wenn es allgemein gehalten ist sollte es trotzdem funktionieren.

@ Dr.Flash, wie hast du so schnell die $object_id herausgefunden???

Jetzt sind wir doch bei PHP (PHP: snmpget - Manual) angekommen!

..ich "spreche" da oben noch Perl.

Die Objekt-ID ist für den Zählerstand bei jedem Drucker die selbe. Ich glaub, da gab es mal eine Liste im Internet. Genau wie Toner-Stand, -Name, Drucker-Name etc...

Der HP WebJetAdmin funktioniert auch bei nicht HP-Druckern...ich wollt damals aber nicht so viel wissen, wie es der WebJetAdmin ausspuckt und die ganze Sache automatisieren.

HP WebJetAdmin ist ja schön und gut, aber sehr komplex. Meistens kommt eh der Wert: <Unbekannt>

Leider, ich finde beim Exportieren nicht mal die Seitenzahlen, das Wort Seitenzahl taucht ja allen Varianten auf, und ich würde es schon begrüßen, wenn ich zwischen S/W und Farbe unterscheiden könnte, aber wenn er die Werte nicht auslesen kann, würde mir auch eine Gesamtzahl genügen, aber selbst das bekommt das Tool nicht hin.

Werde noch mal alles genau durch gehen, sonst mach ich es mit PHP oder über den gleichnamigen Linux-Befehl

Ja......der HP WebJetAdmin ist riesig, komplex und hat ne Menge (viel zu viel) Ausgabe.

Nimm ne Linux-Kiste...installier dir Apache mit PHP und MySQL. Dann schreibst dur dir ein Bash-Skript. o.ä. in welchem du den Befehl zum Zähler abfragen einträgst. Das Ergebniss lässt du dann in eine Datenbank packen.

Zum Auslesen und Anzeigen der DB schreibst du dir nen PHP-Skript...usw.

HP WebJetAdmin ist nicht das wahre für mich.

Also nehmen wir erstmal Linux, bis ich es in PHP realisiert bekomme.

So nur fehlt mir die Ahnung.

Also einfach ein Bash-Datei schreiben Informationen auslesen und in eine Datei speichern.

Frage: In was für eine Datei sollte ich meine Daten am besten speichern? Später sollen nur in eine Access-Datenbank eingebunden werden!

in eine Textdatei, in deren Name das Datum vorkommen zum Beispiel.

Das Datum deswegen, das sich die Dateien nich überschreiben.

Du kannst das natürlich auch alles in eine Datei schreiben. Denk aber an das Datum, sonst kannst du dat ja dann nich mehr zuordnen, ne...

snmpget -c public -v1 IP-ADR-DES-DRUCKERS .1.3.6.1.2.1.43.10.2.1.4.1.1 -Ovq > $DATUM_zaehlerstand

In eine Access-DB? Is das nich zu anstrengend?

Eigentlich ist eine Access-DB nicht zu kompliziert, da diese größtenteils durch User vervollständigt wird, wie Tonerwechel, Störungen.

Obwohl man das auch alles automatisieren könnte, wenn man das Wissen hätte.

Würdest du ein (MY)SQL-Datenbank nehmen?

Am Ende kommt es doch darauf an, was du machen willst......das hast du hier nur ganz kurz beschrieben.

Ich kann dir nur Tips geben:

Ich nehme ein MySQL-DB, weil ich eine WebSite im Netzwerk bereitgestellt habe, mittels derer ein Tonerwechsel vermekt wird, die Zählerstände anzuzeigen oder auch manuell einzut´ragen sind, etc.

Nimm eine Access-DB, wenn du die User dazu "verpflichten" willst, da manuell Einträge zu hinterlassen. Dafür benötigst du aber allerhand Software, welches Lizenzskosten mit sich trägt.

Also, überleg dir was..

OK nun klappt alles nur das er sich weigert meine Schleife öfter zu durchlaufen.

while($i < 32)	

	{

	$strNr = 1;

	$strHostIP = "192.168.1.".$strNr;


	$arrStand = array();

	$arrStand[$strNr] = snmpget($strHostIP, "public", ".1.3.6.1.2.1.43.10.2.1.4.1.1");


	$strNr +=1;

	$i +=1;

	}

Sieht jemand den Fehler?

$strNr = 1; --> $strNr wird bei jedem Durchlauf au 1 gesetzt!!!

$strNr +=1; --> dito !!

$i +=1; --> dio für $i

inkrement ging doch mit z.B. $i++; etc.

Geht ja gar nicht, manchmal sieht man den Wald vor lauter Bäumen nicht!

So ein dummer Fehler geht gar nicht, bin hier in schallendes Gelächter ausgebrochen :D

Klar ich werde auch die For-Schleife nehmen.

  • 2 Wochen später...

Er liest die Informationen falsch ins array ein, ich weiß aber nicht warum

$strNr = 1;
for($i = 0;$i < 32; $i++) {
$strHostIP = "192.168.1.".$strNr;

$arrStand = array();
$arrStand[$strNr] = snmpget($strHostIP, "public", ".1.3.6.1.2.1.43.10.2.1.4.1.1");
#echo ($arrStand[$strNr] . '<br>');
$strNr +=1;

}[/PHP]

Er speichert nur den letzten array-Eintrag. Sprich eine foreach-Schleife oder eine einfache Ausgabe der Werte ist nicht möglich. Der Array-Eintrag ist immer leer.

Folgendes ergibt nichts (leer):

[PHP]print_r($arrStand[3]);

Wenn ich die Zeile, welche ich auskommentiert haben, mitlaufen lassen entsteht folgendes:


Counter32: EINTRAG

Counter32: EINTRAG

Counter32: EINTRAG

Counter32: EINTRAG

Counter32: EINTRAG

Counter32: EINTRAG

:

:

Fehler gefunden, ich erzeuge in der Schleife jedesmal das Array neu.

erst decompilieren und dann posten, aber nich beides parallel.....

was soll ich sagen?

Weißt du, wo ich die anderen OID's für meine Druckerauslese herbekomme? Seitenzahlen sind ja schön, aber ein bisschen mehr würde ich schon erfahren :D

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.