Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Druckaufträge, sowie Netzwerkzugriffe loggen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 26.06.2007, 15:12    Titel: Druckaufträge, sowie Netzwerkzugriffe loggen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 26.06.2007, 15:47    Titel: Antworten mit Zitat

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. zwinkern

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 26.06.2007, 15:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 26.06.2007, 15:56    Titel: Antworten mit Zitat

Denn Samba ist ja niedlich und klein, stimmt's? peinlich Zunge rausstrecken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 26.06.2007, 16:49    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 26.06.2007, 17:03    Titel: Antworten mit Zitat

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 happy 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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 26.06.2007, 22:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz