Startseite syneticon
syneticon
syneticon
   

 Drucker-Accounting

Zahlreiche kommerzielle Lösungen für Drucker-Accounting sind in der Lage, Druckkonten für Benutzer zu unterhalten und Ausdrücke auf unterschiedlichste Art zu klassifizieren und zu "bepreisen". Für einfache Fälle, in denen es nur um eine Berechnung des Druckvolumens innerhalb eines bestimmten Zeitraumes für einzelne Benutzer geht, kann man aber auf eine recht einfache und effiziente Art und Weise an die Zahlen kommen.

Wie?

Die Grundidee ist es, dass der Spooler bei entsprechender Konfiguration für jeden Druckauftrag einen Eintrag wie diesen im System-Eventlog hinterlässt:


Ereignistyp:       Informationen
Ereignisquelle: Print
Ereigniskategorie: Keine
Ereigniskennung: 10
Datum: 14.02.2005
Zeit: 19:41:01
Benutzer: PORTABLE\denis
Computer: PORTABLE
Beschreibung: Dokument 3, Microsoft Word - Mail.doc im Besitz von
denis wurde über Anschluss LPT1 auf HP LaserJet 6P
gedruckt. Größe in Bytes: 26564; Seiten gedruckt: 3

Wertet man diese Informationen über einen bestimmten Zeitraum hinaus aus, so kann man eine Statistik über die Anzahl der gedruckten Seiten erstellen.

Was tun?

Zunächst einmal muss sichergestellt werden, dass der Spooler Spoolerinformationen ins Eventlog schreibt. Wie das geht, erklärt der Abschnitt "Spooler konfigurieren" weiter unten.
Dann noch das Excel-Arbeitsblatt herunterladen, welches mit entsprechenden Makros zum auslesen des Eventlogs und einer vorbereiteten Kreuztabelle zur Analyse der Daten daherkommt. Das Excel-Arbeitsblatt gibt es
Beim Öffnen des Arbeitsblattes erscheint die Abfrage danach, von welchem Server das Eventlog ausgelesen werden soll. Bei Ausführung auf dem Server kann dort der Punkt (".") für "lokaler Host" stehen gelassen werden. Bei Ausführung auf einer Management-Station ist der Name oder die IP-Adresse des Servers anzugeben, dessen Eventlog ausgelesen werden soll.


Spooler konfigurieren

Der Spooler von Windows 2000 und XP / 2003 kann konfiguriert werden, verschiedene Informationen in das System-Eventlog zu schreiben. Das Control Panel "Drucker" (bzw. "Drucker und Faxgeräte") birgt im Menü "Datei" den Punkt "Servereigenschaften"


Dort finden sich im Reiter "Erweiterte Optionen" die Konfigurationsoptionen für die Protokollierung:
Die Optionen für Spoolerfehler und Spoolerwarnungen sind recht selbsterklärend, die "Spoolerinformationen" geben primär zu jedem angenommenen Druckauftrag Informationen über Besitzer, Drucker und Druckvolumen, die später zur Bestimmung des angefallenen Druckvolumens und Auslastung der Drucker herangezogen werden können.

Anmerkungen

  • Das Auslesen des Eventlogs funktioniert über WMI, die Windows-Verwaltungsinstrumentation muss daher auf dem Zielhost laufen
  • Die Anfrage geht mit integrierter Authentifizierung heraus, d.h. der Benutzer muss das Recht haben, das Systemlog auszulesen.
  • Der VBA-Code läuft mit Excel-Versionen ab Excel 97
  • Die Größe des Eventlogs ist konfigurierbar, aber beschränkt. Je nach Einstellung wird es entweder rotiert (ältere Ereignisse werden überschrieben) oder es zeichnet nach Füllung keine Ereignisse mehr auf. Somit kann kein beliebig langer Zeitraum ausgewertet werden.
  • Die Anzahl der Seiten eines Dokuments wird von der Anwendung übergeben, aus der heraus gedruckt wird. Liefert die Anwendung falsche oder keine Angaben, verfälscht dies die Berechnung. Dies gilt insbesondere fü alle Ausdrucke aus DOS-Programmen oder von Windows 3.11 und 9x-Clients.

Autor

Verfasst von Denis Jedig, auf Anregung in einem Newsgroupthread.
Changelog:
  • 0.5 Leichte Bugfixes zur Behandlung von führenden "=" in Strings
  • 0.4 Ergänzung um die Möglichkeit der Angabe von Authentifizierungsdaten
  • 0.3 interne Testversion
  • 0.2 Einsatz des InsertionStrings-Arrays und damit Verzicht auf fehlerträchtige Abhängigkeit von aufwändigen Stringzerlegungen der Events (Dank an Martin Resch)
  • 0.1 (ohne Versionsangaben) - Initialversion
Anmerkungen, Korrekturen und Fragen gerne an
dj at syneticon dot net
.
Impressum            Technik Support