|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Type
Anmeldungsdatum: 24.02.2006 Beiträge: 187 Wohnort: Dresden
|
Verfasst am: 26.06.2007, 15:12 Titel: Druckaufträge, sowie Netzwerkzugriffe loggen |
|
|
Hallo Leute,
ich wollte ein Programm schreiben, welches
1. die Druckaufträge an unseren Fileserver mitloggt. - Das Problem ist, wie finde ich heraus ob, und wann was gedruckt wird?
2. die Zugriffe auf oder von dem Fileserver loggt. - Wie kann ich herausfinden ob ein zugriff aus dem netzwerk stattfindet oder der rechner etwas ins netzwerk sendet?
Hab ihr da vielleicht ne idee?
MfG Type |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 26.06.2007, 15:47 Titel: |
|
|
Hallo,
für diese Aufgabenstellung ist QB ziemlich ungeeignet. Da QB entwickelt wurde, lange bevor das Windows-eigene Spooler-Sub-System aufkam, gibt es keine direkte Möglichkeit, an die Druckaufträge dranzukommen. Selbst in Sprachen, die den Zugriff auf das WinAPI erlauben (QB nicht, z.B. FreeBASIC aber), ist es schwierig, das tatsächliche Druckvolumen zu erfassen.
Es dürfte zwei mehr oder weniger elegante Lösungen für QB geben, überhaupt an Druckaufträge dranzukommen. Die eine besteht darin, das Ereignisprotokoll exportieren zu lassen und dann auszuwerten. Es gibt nämlich die Möglichkeit, Druckaufträge im Ereignisprotokoll festhalten zu lassen. Über SHELL kann man dann DUMPEL.EXE starten, ein kleines Tool von Microsoft, mit dem das Ereignisprotokoll exportiert werden kann:
Code: | dumpel -f file [-s \\server] [-l log [-m source]] [-e n1 n2 n3...] [-r] [-t] [-d x] |
Details siehe: http://www.microsoft.com/germany/technet/datenbank/articles/900144.mspx#EDPAE
Die erzeugte Datei kannst du dann ganz normal in QB öffnen und die Druckereignisse herausfiltern. Der Haken dabei ist, dass die Seitenzahl leider meist nicht stimmt. Wenn jemand mehrere Exemplare eines Dokuments druckt, so wird nur die Seitenzahl des Dokuments in einfacher Ausfertigung genannt usw. Von daher ist die Lösung nicht ganz hieb- und stichfest.
Die andere Möglichkeit für QB wird darin bestehen, auf den WSH zurückzugreifen, indem man ein Script via SHELL zur Ausführung bringt. Da ist aber dreael der Experte. Vielleicht schreibt er ja dazu etwas.
Die beste und schwierigste Möglichkeit, die sich dem QB Programmierer allerdings nicht eröffnet, ist die Entwicklung eines eigenen Druckertreibers, der die Drucke auswertet und dann die Daten an einen tatsächlichen, aber für den Nutzer unsichtbaren Drucker weiterleitet. Professionelle Software zum Protokollieren von Druckaufträgen in Firmennetzwerken oder Internetcafés arbeitet meines Wissens in der Regel nach dem Prinzip. Das ist allerdings zum Selbstprogrammieren zu aufwändig und es wird sich für das zu überwachende Druckvolumen wahrscheinlich auch nicht lohnen, eine derartige Software anzuschaffen.
Für die Dateizugriffe auf den Server wird man um eine Windowsprogrammiersprache nicht herumkommen. Mit QB hat man kaum eine Chance. Vielleicht kann man wieder über ein gestartetes VBScript die offenen Freigaben o.ä. auslesen, aber viel mehr wird wahrscheinlich nicht gehen.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Zuletzt bearbeitet von Sebastian am 26.06.2007, 15:49, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 26.06.2007, 15:48 Titel: |
|
|
1. Du müsstest den Spooler auslesen... kA wie man das macht x)
2. Einzigste mir bekannte Lösung wäre einen eignen FileServer programmieren... schau dir zur not das SAMBA-Projekt an... |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 26.06.2007, 15:56 Titel: |
|
|
Denn Samba ist ja niedlich und klein, stimmt's? _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Type
Anmeldungsdatum: 24.02.2006 Beiträge: 187 Wohnort: Dresden
|
Verfasst am: 26.06.2007, 16:49 Titel: |
|
|
Ist das echt so kompilizert?
Ich hätte gedacht, dass zumidest das mit dem Drucken einfacher geht...
Aber irgendwo muss die Warteschlange doch gespeichert werden...
- wenn man das auslesen könnte würde das doch eingentlich schon reichen.
MfG Type |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 26.06.2007, 17:03 Titel: |
|
|
tja, da siehst du mal, wie kompliziert doch die technik hinter so "einfachen" abläufen steckt...
dass solche daten einfach auf der platte abgelegt werden, ist schon lange nicht mehr der fall / war nie der fall. das ist irgendwo im RAM, und daran zu kommen ist nochmal schwerer Das Spooler-System ist nicht darauf ausgelegt, dass andere Anwendungen mitbekommen können, was wie wo gedruckt wird... wozu auch? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 26.06.2007, 22:24 Titel: |
|
|
Ich nehme einmal an, dass das Ziel ein einfaches Accounting/Billing geben soll, welcher Benutzer wieviel gedruckt hat. Zu diesem Zweck ist es ratsam, in den Überwachungsrichtlinien der lokalen Sicherheitsrichtlinie die Protokollierung von Objektzugriffen sowie Anmeldevorgänge auf dem Printserver zu aktivieren. Die Druckerwarteschlange besitzt genauso wie Dateien in der NTFS-Formatierung ebenfalls eine ACL (Access Control List), also Berechtigungen, worunter man eine entsprechende Überwachung einrichten sollte.
Sobald dies alles korrekt eingerichtet wurde, sollte jeder Druckvorgang unter "Sicherheit" in der Ereignisanzeige seine Spuren hinterlassen. Das Auslesen und Auswerten der Ereignisanzeige hat Sebastian schon richtig angedeutet ist die Domäne für eine VBScript-Routine, welche die Ereignisprotokolleinträge über die WMI-Schnittstelle ausliest und verarbeitet. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|