Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Druckkontingentierung auf Windows Servern mit Boardwerkzeugen/Freewaretools

Mitglied: gogoflash

gogoflash (Level 2) - Jetzt verbinden

11.02.2006, aktualisiert 08.06.2006, 29127 Aufrufe, 8 Kommentare

Anhand eines Projektes zur Kontingentierung von Druckseiten auf Windows Servern wird gezeigt, wie man das Eventlog filtert und daraus mit einfachsten Mitteln Informationen daraus ziehen kann. Falls der Nutzer das Kontingent überschritten hat, wird im das Recht zum Drucken verweigert.Genutzt werden hierzu die Batchbefehle unter DOS.

Kontigentierung


--------- Ablauf ----------------

Ablauf bevor ein paar Codeschnippsel gezeigt werden.
1) Auslesen der User (Personen) aus dem Active Directory. Die Namen werden in eine Userlist.txt ausgegeben. Hiermit kann später das Drucklog nach Usern gefiltert werden.

2) Herausfiltern bestimmter Nutzer. Entweder weil sie bereits gesperrt wurden, oder weil sie nicht unter dem Kontingent leiden sollen.

3) Mit DUMPEL wird das Eventlog seit Monatsbeginn ausgelesen, explizit werden dabei die Druckereignisse herausgefiltert.Um die Tage seit Monatsbeginn auszulesen, wird das getalldatetimevar.cmd von BIBER genutzt.

4) Herausfiltern der einzelnen Drucker anhand der Portbezeichnung

5) Die Ausgabe von DUMPEL wird formatiert. Für jeden User wird eine Datei angelegt in der die bisher gedruckten Seiten drinstehen. (Das Filtern erfolgt mit SED)

6) Addition der einzelnen Seiten und Prüfung auf Kontingentüberschreitung.

7) Maßnahmen bei Kontingentüberschreitung E-Mail Benachrichtigung, Desktopbenachrichtigung, Sperrung des Druckers durch Rechte setzen.

8) Erstellung von Nutzerinformationen und einer Statistik, um sie zum Beispiel von KIX bei der Anmeldung auszulesen.

9) Eintüten in Subroutinen und Schleifen.

10) Batch mit allem zusammen.

11) Abfallprodukte:
Als kleines vorläufiges Abfallprodukt entsteht ein kleines Script, dass den Admin oder User über bestimmte Events per Mail informiert.Hieraus entstanden..
Vielleicht kann man ja daraus mehr machen.

Dieses Skript sollte natürlich mehrmals am Tag durchlaufen um eine zeitnahe Protokollierung zu erhalten. Es gibt einige Freewareprogramme, die dieses Skript jede Minute ausführen können.

Ablauf Ende ----------------

Fangen wir an.

Auslesen der Benutzer in einer OU im AD

Erstmal müssen wir eine Nutzerliste erstellen, diese brauchen wir, um die Ausgabe nach den Nutzern zu filtern. Es empfiehlt sich, die bei jedem Durchlauf durchzuführen, es können ja schnell neue Nutzer angelegt werden.

Ausgelesen wird aus der Domäne.de und den OUs OU=hinten, ou=berlin; nur Objekte die Person sind.
Genutzt wird dazu ldifde, was auf jedem Windows Server zufinden ist. (NT weiß ich nicht)

01.
ldifde -f ExportUsers.ldf -s DC -d "ou=hinten,ou=Berlin,dc=domäne,dc=de" -p subtree -r "(objectClass=person)" -l "SamAccountName"
Gibt uns folgendes aus:
01.
dn: CN=###,OU=hinten,OU=Berlin,DC=domäne,DC=de
02.
changetype: add
03.
sAMAccountName: userA
04.

05.
dn: CN=Ab,OU=hinten,OU=Berlin,DC=domäne,DC=de
06.
changetype: add
07.
sAMAccountName: userB
Interessieren tun uns nur die samaccountName: Einträge. Diese Filtern wir folgender Maßen aus.
01.
for /f "tokens=2 delims= " %%a in ('find "sAMAccountName:" ExportUsers.ldf ') do (echo %%a>> userlistall.txt)
Jetzt haben wir eine Liste (userlistall.txt) die so aussieht.
01.
UserA
02.
UserB

Anhand einer gesperrt.txt Datei (diese wird vom Skript erzeugt wollen wir bestimmte Nutzer rausfiltern). Diese werden beim Durchlauf nicht mehr berücksichtigt.


So sehen die beiden Dateien aus:
Userlist.txt :
01.
UserA
02.
UserB
03.
UserC
Gesperrt.txt
01.
UserC
gibt uns mit diesem Code

01.
IF EXIST gesperrt.txt for /f %%x in (%userinfo%\%druckport%\gesperrt.txt) DO call :userf %%x
02.
Goto:eof
03.
:userf
04.
	for /f "skip=2 tokens=1 delims= " %%a in ('find /V "%1" userlistall.txt') do (echo %%a >> userlist.txt)
05.
goto :eof
Eine userlist.txt mit den erlaubten Nutzern:
01.
UserA
02.
UserB
Dieser Nutzer waren bisher nicht gesperrt und werden jetzt ausgewertet.

Mithilfe von Dumpel das Printlog auslesen.


01.
dumpel -f d:\drucker.log -m print -t -s \\Druckserver -l System -e 10 -format s -d 10
-d 10 steht für die letzten 10 Tage.
-e 10 steht für die EventID
-l System für Systemlog (Application wenn man in diesem Log was suchen möchte)
-m print Eventname

Mit dem getalldatetimesvar.cmd vom Biber kann man die Tage per %dd% übergeben.

Die Ausgabe sieht dann so aus:
01.
44	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	481437	1	
02.
46	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	93056	1	
03.
48	VEpdf	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	142196	1	
04.
50	VE_Ban.pdf UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	139116	1
05.
4 Microsoft PowerPoint - 20060201_.ppt	UserB	Canon iR C3200 PCL5c	IP_172.22.44.71 50997	1
06.
58	VE_Ban1.pdf UserA	Canon iR C3200 PCL5c	IP_172.22.44.88	139116	1
In der dritten Spalte wird der Nutzer angegeben. In der letzten Spalte die gedruckten Seiten.
In der drittletzten Spalte steht der Name des Druckports, davor der Druckername.

Auswertung der Ausgabe von DUMPEL.


Eine Auswertung mit
01.
for /f "tokens=3,8 delims= " %%a in (drucker.log) do (echo %%a;%%b>> Logdatei.txt) 
bei den Einträgen von Microsoft aufgrund einer zusätzlichen Spalte (Microsoft [Leerzeichen]Powerpoint) nur Müll aus.

Erstmal filtern wir nach dem Druckerport, das sollte der Drucker sein der Kontingentiert werden soll.
Wir filtern nach dem 172.22.44.71 Port, das ist ziemlich billig, durch FIND zu machen.

01.
find "IP_172.22.44.71" druck.log > druckport
Die Ausgabe in der druckport Datei sieht dann so aus (die FIND Einträge hab ich jetzt mal nicht mitgenommen)

01.
44	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	481437	1	
02.
46	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	93056	1	
03.
48	VEpdf	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	142196	1	
04.
50	VE_Ban.pdf UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	139116	1
05.
4 Microsoft PowerPoint - 20060201_.ppt	UserB	Canon iR C3200 PCL5c	IP_172.22.44.71 50997	1

Ausfiltern vom User.

Erstmal filtern wir nach einem User.
01.
find "userA" drucker.log > userA
Ausgabe in userA
01.
44	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	481437	1	
02.
46	VE.PDF	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	93056	1	
03.
48	VEpdf	UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	142196	1	
04.
50	VE_Ban.pdf UserA	Canon iR C3200 PCL5c	IP_172.22.44.71	139116	1
Was wir jetzt machen müssen, ist die letzte Spalte rauszufiltern. Dies machen wir in mehreren Schritten.

Mithilfe von SED (gleich kommt die Aufklärung)
01.
SED -e "s/^.*IP_172.22.44.71 /SET /p" -e "d" <userA > userA2
Mit diesem Befehl wird alles was vor IP_172.22.44.71 in UserA ausgeschnitten inkl IP_172.22.44.71

sieht die Ausgabe in der UserA Datei aus:
01.
SET 481437	1	
02.
SET 93056	1	
03.
SET 142196	1	
04.
SET 139116	1
Jetzt schneide ich die ersten beiden Spalten aus:
01.
for /f "tokens=1,2,3 delims= " %%a in (userA2) DO (echo %%c >>userA3)
UserA3 Datei sieht so aus:
01.
1
02.
1
03.
1
04.
1
Was wir jetzt haben ist eine Liste für jeden User in der die Anzahl der Druckseiten drinsteht. Jetzt muss nur noch die Zahl addiert werden und mit einem Kontingent verglichen werden.


Diese mehreren Schritte lassen sich auf einen Einzeiler reduzieren, der ohne Zwischendateien arbeitet.

01.
for /f "tokens=1,2,3 delims= " %%a in ('find "userA" drucker.log^|SED -e "s/^.*IP_172.22.44.71 /SET /p" -e "d"') DO (echo %%c >> userA)

Addieren der Inhalte von UserA und mit einem Kontingent vergleichen.

Falls es überschritten wird, können dann Maßnahmen getroffen werden. Gleichzeitig wird für jeden Nutzer eine Datei erstellt in der die Gesamtzahl der Seiten drinsteht. Dies kann man z.B. per KIX dann auslesen, um den Nutzer über sein Kontingent zu informieren.
Zum Addieren wird der SET Befehl unter DOS benutzt. (Boardwerkzeug)

01.
REM Kontingent festlegen
02.
set kontigent=100
03.
for /f %%a in (userA) DO call :inner %%a
04.
	:inner
05.
		REM Hochzählen bedeutet zahl=zahl+%1
06.
		Set /a "Zahl+=%1"
07.
		REM Infos fuer Späteres KIx auslesen erzeugen
08.
		echo %user% %zahl% > %userinfo%\%druckport%\%user%
09.

10.
REM Abbruchbedingung eingefügt, damit Schleife nicht unnötig lang 
11.
REM durchgelaufen wird
12.
		
13.
IF %abbruch%==-1 goto :endin
14.

15.
		REM Falls Kontigent überschritten wird die Subroutine Abfertigen aufgerufen		
16.
		IF %kontingent% LEQ %Zahl% call :abfertigen
17.
		
18.
		:endin
19.

20.
goto :eof

Maßnahmen


Nutzer in eine gesperrt.txt einfügen:

01.
echo %user% >> %userinfo%\%druckport%\gesperrt.txt
01.
net send %user% Kontigent erschöpft
Sperrung des Druckers Methode A

01.
subinacl /printer %printer% /deny=domäne\%user%=F
Sperrung des Druckers Methode B

Gruppe erstellen. Dieser Gruppe die Rechte am Drucker verweigern und den gewünschten User in diese Gruppe einfügen.Dies Funktioniert meines Wissens und laut meiner Server auch nur auf Domänencontroller.
01.
Net group gruppenname %user% /add 
E-Mail Benachrichtigung mit blat:
SMTP Server 172.22.44.xxx und Blindcopy an Admin.

01.
blat -installSMTP 172.22.44.xxx drucker@domaene.de
02.
blat zuviel.txt -to %user%@domaene.de -bc admin@domaene.de -s "Kontingentüberschreitung auf Drucker XYZ"
03.

04.
In der zuviel.txt Datei liegt der Textbody der zu versenden ist.

In Arbeit.

Große Schleife und Subroutinen

Mit Hilfe der userlist.txt kann ich den gesamten Kram in eine große Schleife pumpen.
01.
for /f %%x in (userlist.txt) do (set user=%%x && call :sua)
02.
:eof
03.
:sua
04.
.... Mach was.....
05.
:eof
Und den ganzen Kram in Subroutinen stellen.
Wie man das macht sieht man in diesem guten Tutorial:

https://www.administrator.de/HowTo_-_Wie_man_Subroutinen_in_Batchfiles_e ...

Alles zusammen (Beta Version mit vielen Zwischendateien und Tempdateien):


01.
REM Druckkontigent V 0.02 Datum:10.02.06
02.

03.
REm Verzeichnisse vorbereiten
04.
	
05.
	set stamm=d:\scripte\drucker
06.
	set temp1=%stamm%\temp1
07.
	set temp2=%stamm%\temp2
08.
	set logpfad=%stamm%\log
09.
	set userinfo=%stamm%\user
10.
	md %temp1%
11.
	md %temp2%
12.
	md %logpfad%
13.
	md %userinfo%
14.
	del %logpfad%\userlist.txt
15.

16.
REM Kontigent setzen
17.
	set kontingent=100
18.

19.
REM Variablen setzen fuer AD
20.
	REM Domänencontroller
21.
	set domainc=Server-DC
22.
	REM Domänenname
23.
	set dc1=domaene
24.
	set dc2=de
25.
	REM OU Informationen
26.
	set ou1=Berlin
27.
	set ou2=User
28.

29.
REm Variablen fuer Drucker setzen
30.
	REM Druckerport
31.
	set druckport=hplj4100
32.
	REM Drucker UNC
33.
	set printer=\\Printserver\pr-hplj4100
34.
	REM Printserver (wo liegt die Logdatei)
35.
	set server=\\Printserver
36.
REM -------------------------------------
37.

38.
getalldatetimevar.cmd /s
39.

40.
REM Aufspaltung in Main und Subroutinen 
41.
call :main
42.
goto :end
43.

44.

45.
REM -------------------------------------
46.
REM Subroutinen
47.
:main
48.
	md %userinfo%\%druckport%
49.

50.
	REM Jetzt gehts Los
51.

52.
	REM Auslesen der Tage seit MOnatsbeginn wird benötigt für DUmpel
53.
	REM Noch zu machen
54.
	
55.
	REM Auslesen der Benutzer für Filter
56.
	ldifde -f %logpfad%\ExportUsers.ldf -s "%domainc%" -d "ou=%ou2%,ou=%ou1%,dc=%dc1%,dc=%dc2%" -p subtree -r "(objectClass=person)" -l "SamAccountName" >> %logpfad%\log.txt
57.
	REM Die Ausgabe muß nach Accountnamen gefilter werden
58.
	find "sAMAccountName:" %logpfad%\ExportUsers.ldf > %logpfad%\userlist.tmp
59.
	REM AUschneiden der ersten 2 Zeilen die durch find reinkommen
60.
	for /f "skip=2 tokens=2 delims= " %%a in (%logpfad%\userlist.tmp) do (echo %%a>> %logpfad%\userlist.txt)
61.
	del %logpfad%\userlist.tmp
62.
	del ldif.log
63.
	del %logpfad%\ExportUsers.ldf
64.
	REM Userlistall.txt enthält alle Nutzer aus der OU
65.
	copy %logpfad%\userlist.txt %logpfad%\userlistall.txt
66.
	
67.
	REM Rausfiltern der bereits gesperrten User (siehe Subroutinen TEil)
68.
	REM Wird benötigt um Benutzer nicht mehrmals zu benachrichtigen
69.
	IF EXIST %userinfo%\%druckport%\gesperrt.txt for /f %%x in (%userinfo%\%druckport%\gesperrt.txt) DO call :userf %%x
70.

71.
	REM Druckprotokoll auswerten 
72.
	REM Zur Zeit -d 10 für 10 Tage
73.
	dumpel -f %logpfad%\druck.log -m print -c -s \\debe-as-01 -l system -e 10 -d %dd% -format s
74.
	REM Drucker rausfiltern
75.
	find "%druckport%" %logpfad%\druck.log > %logpfad%\%druckport%
76.
	del %logpfad%\druck.log 
77.

78.

79.
	REM Berechnung durchführen (siehe Subroutinen Teil)	
80.

81.
	for /f %%x in (%logpfad%\userlist.txt) do (set user=%%x && call :rech)
82.

83.

84.
	REM Statistik
85.
	REM Ausgabe einer Liste über Druckaufkommen
86.
	for /f %%x in (%logpfad%\userlistall.txt) do (set user=%%x && call :statistik)
87.
goto :eof
88.

89.
REM -------------------------------------
90.
:rech
91.
	REM Ausgabe so filtern, dass nur noch Dokumentenzahl drinsteht
92.
		find "%user%" %logpfad%\%druckport% > %temp1%\%user%
93.
		SED -e "s/^.*"%druckport%" /SET /p" -e "d" <%temp1%\%user% >%temp2%\%user%
94.
		del %temp1%\%user%
95.
		REM In der Logdatei die Zeitenzahlen rausfiltern und in %temp1% ausgeben
96.
		for /f "tokens=1,2,3 delims= " %%a in (%temp2%\%user%) DO (echo %%c >>%temp1%\%user%) 
97.
		del %temp2%\%user%
98.

99.
	REM Addieren der Seitenzahlen
100.
	set /A "zahl=0"
101.
	set /A "abbruch=0"		
102.
	for /f %%a in (%temp1%\%user%) DO call :inner %%a
103.
	:inner
104.
		Set /a "Zahl+=%1"
105.

106.
		REM Infos fuer Späteres KIx auslesen erzeugen
107.
		echo %user% %zahl% > %userinfo%\%druckport%\%user%
108.

109.
		REM Abbruchbedingung Eingefügt, damit Schleife nicht unnötig lang durchgelaufen wird
110.
		IF %abbruch%==-1 goto :endin
111.

112.
		REM Falls Kontigent überschritten wird die Subroutine Abfertigen aufgerufen		
113.
		IF %kontingent% LEQ %Zahl% call :abfertigen
114.
		
115.
		:endin
116.

117.
goto :eof
118.

119.
REM ENDE von RECH
120.
REM -------------------------------------
121.
REM gesperrte Nutzer rausfiltern	
122.
:userf
123.
	find /V "%1" %logpfad%\userlist.txt > %logpfad%\userlist.tmp
124.
	del %logpfad%\userlist.txt
125.
	for /f "skip=2 tokens=1 delims= " %%a in (%logpfad%\userlist.tmp) do (echo %%a >> %logpfad%\userlist.txt)
126.
	del %logpfad%\userlist.tmp
127.
goto :eof
128.

129.
REM -------------------------------------
130.
REM Was soll mit den passieren die das Kontigent überschritten haben
131.
:abfertigen
132.
	set /a "abbruch=-1"
133.
	echo %user% >> %userinfo%\%druckport%\gesperrt.txt
134.
	REM net send %user% Kontigent erschöpft
135.
	REM Sperrung zur Sicherheit auskommentiert
136.
	REM subinacl /printer %printer% /deny=%dc%\%user%=F
137.
:goto :eof
138.

139.
REM -------------------------------------
140.
REM Ausgabe der Statistik
141.
:statistik
142.
for /f "tokens=1,2 delims= " %%a in (%userinfo%\%druckport%\%user%) DO (IF NOT %%b==0 echo %%a %%b >> "%userinfo%\%druckport%.txt")
143.
:goto :eof
144.
REM -------------------------------------
145.
:end
10) Eintüten ins System.
Die Hauptdatei kann als Geplanter Task ausgeführt werden.
Am ersten eines Monats, sollte man falls man Methode B zur Sperrung genutzt hat. Die gesperrten Nutzer aus der Gruppe entfernen.

01.
net group Gruppenname %user% /delete

Abfallprodukte:

Benachrichtigung über bestimmte Events per Mail


Hier wird das Eventlog des letzten Tages (-d 1) vom Server (\\Servername), mit der EventID 10 und Eventname Print aus dem Systemlog an den admin geschickt.
Läßt sich bestimmt leicht anpassen.
Per "Wiederkehrenden Task" kann dies einmal am Tag ablaufen. Willst Du über die Events schnell informiert werden und sie auch nicht doppelt und dreifach bekommen, muss es natürlich angepasst werden. Frag einfach mal nach.

01.
dumpel -f eventlog.log -m print -c -s \\Servername -l system -e 10 -d 1 
02.
blat -installSMTP 172.22.44.4 servername@domane.de
03.
IF EXIST eventlog.log blat eventlog.log -to admin@domaene.de -s "Infos über Event"
Weitere Anpassungen und Anregungen werden gerne in das Script aufgenommen.
Freue mich auf eine Diskussion.
Hier zur Diskussion:
https://www.administrator.de/Druckkontingentierung_auf_Windows_Servern_m ...


Ich danke hiermit auch dem freundlichen BIBER für seine Optimierungen des Codes und seine Vorschläge.

Gruß Miguel


Softwarequellen:

Dumpel (Printlog ausgeben)
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/dum ...

BLAT
http://www.blat.net/

SED
http://www.windowsitpro.com/Articles/Index.cfm?ArticleID=5697

VAR SET
http://home.mnet-online.de/horst.muc/german.htm

Subinacl
http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe- ...
Mitglied: Biber
11.02.2006 um 19:38 Uhr
Prima, gogoflash,

gutes Konzept und ein Super-Beispiel dafür, was sich mit viel Ideen und ohne viel Programmierung (ohne auf C# oder .NET zurückzugreifen) erreichen lässt.

Mal sehen - vielleicht kann ich Dir mithelfen, es noch ein wenig modularer/flexibler zu gestalten - dann ließen sich damit auch andere Logfiles (vor allem das EventLog!!) durchflöhen.

Danke!

Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: heffa
09.03.2006 um 09:44 Uhr
Hallo,

hast du nett gemacht und gut erklärt... Danke!

ich möchte noch auf diese schlüsselfertige und schöne Lösung hinweisen: http://www.syneticon.net/service/w2k/drucker-accounting.html

Bietet unter anderem eine grafische Auswertung in Excel... manche Chefs schätzen so etwas sehr

Schöne Grüsse Heffa
Bitte warten ..
Mitglied: gogoflash
08.06.2006 um 16:39 Uhr
Hallo,

ich hab mir mal die schlüsselfertige Lösung angesehen. Sie ist recht gut und gibt eine umfangreiche Aufstellung der Druckmengen.

Im gegensatz zu meiner Lösung ist hier nur eine Auswertung möglich und keine Sperrung bei Überschreiten von den Kontigenten. (Läßt sich sicherlich auch noch ins Makro einbauen)


Gruß Miguel
Bitte warten ..
Mitglied: laberdasch
08.06.2006 um 18:14 Uhr
Respekt!!
Bitte warten ..
Mitglied: Peter161
30.06.2009 um 13:55 Uhr
Wirklich toll, bin wirklich interessiert. Wäre aber ganz nett, wenn du alles mal in einen Ordner packen könntest und den Zippen und mir vielleicht per mail zukommen lassen. Denn bsp die getalldatetimevar.... und die SED kann ich nicht finden. Vielen Dank. Ich schick dir meine Mailadresse per PN.

Vielen Dank...


Peter
Bitte warten ..
Mitglied: mkrasselt1
26.04.2012 um 06:38 Uhr
Hallo gogoflash
Ist zwar schon wieder etwas alt, aber deine Umsetzung ist genial ;)
Nur wir haben eine Änderung vor:
Wo mus sich etwas ändern, damit für Jeden Nutzer ein Anderes Kontigent gezählt wird ?
Wir wollen ein System zum Aufladen einführen, und das müsste ja dann bei jedem Nutzer
einzeln gebucht werden. Ich denke die Variable Kontigent ist die Stelle die ich ändern muss.
Am Besten sicher über das auslesen aus einer Datei des Nutzers, auf die er Keinen Schreibzugriff hat.
(Managebar über Webfrontend zum Beispiel)
Ist das der Richtige weg ?
Für die Finale Version müsste ich nru alles in eine Batchdatei Packen oder ?

Vielen Dank, mkrasselt1
Bitte warten ..
Mitglied: gogoflash
25.05.2012 um 02:21 Uhr
Zitat von mkrasselt1:
Hallo gogoflash
Ist zwar schon wieder etwas alt, aber deine Umsetzung ist genial ;)

Danke.

Nur wir haben eine Änderung vor:
Wo mus sich etwas ändern, damit für Jeden Nutzer ein Anderes Kontigent gezählt wird ?
Wir wollen ein System zum Aufladen einführen, und das müsste ja dann bei jedem Nutzer
einzeln gebucht werden. Ich denke die Variable Kontigent ist die Stelle die ich ändern muss.

Ich denke auch. Da du aber dynamisch die Kontingente ändern möchtest, müsste ich mal genauer hören ,wie du dir das Prozedere denkst.

Ist es auch eine Windows Domäne oder ähnliches? Würde mich auf Feedback freuen, dann könnte man das Skript noch besser machen.

Gruss mq
Bitte warten ..
Mitglied: mkrasselt1
25.05.2012 um 06:33 Uhr
Okay, so ist das System gedacht.
Im Jahreszyklus werden die bereits Gedruckten Seiten mit den Restkontigent verrechnet.
So das im letzten Jahr überschüssiges Kontigent erhalten bleibt, aber alle Drucker-Zähler zurückgesetzt werden.
Ansonsten können die Nutzer das ganze Jahr über verschieden Mengen an Kontigent erwerben(z.B. 50,100,500,1000 Seiten). Sobald sie es erwerben, können sie es auf ihr Konto aufbuchen(wollte ich dann über ein Webfrontend realiesieren). Dabei wird auch über ein leicht abgewandeltes Script ihre Druckberechtig wieder gesetzt, falls sie fehlen sollte. Und damit kann ein Nutzer, der in einer Woche mal die letzten 10 Seiten seines Kontigents aufgedruckt hat, sich eine neue Karte kaufen, die Nummer registrieren und sofort wieder Berechtigung haben. Für die Menge die dann aufgebucht wurde.


Ich hoffe ich habe verständlich gemacht, was ich möchte. Falls etwas zu aufwändig sein sollte, kannst du es gerne lassen, und ich bau es in mein Frontend mit ein(und rufe es Remote von nem Linuxserver als Cronjob auf).

[ich kenne mich nur in DOS nicht gut aus....]

Danke sagt Michael
Bitte warten ..
Ähnliche Inhalte
Windows Tools

Windows Datenträgerverwaltung buggy! (Windows Vista bis Windows 10)

Erfahrungsbericht von LochkartenstanzerWindows Tools

Moin, Ich habe eine Testkiste mit diversen Windows-Versionen + Ubuntu im Multiboot drauf. Gestern habe ich an den Partitionen ...

Windows 10

Windows 10: Die nächste Generation von Windows

Information von FrankWindows 1085 Kommentare

Microsoft hat heute viele neue Details zum kommenden Windows 10 veröffentlicht. Hier die wichtigsten Daten dazu: Windows 10 wird ...

Windows 10

Windows 10 Wartung

Erfahrungsbericht von 1Werner1Windows 1013 Kommentare

Moin, wenn man zum Autohändler geht und möchte man mehr Geld für ein Auto ausgeben, bekommt man ja mehr ...

Viren und Trojaner

Panda zerschießt Windows

Tipp von kontextViren und Trojaner11 Kommentare

Hallo Kollegen, wer einen Kunden mit Panda Antivirus hat, sollte mal prüfen ob dieser noch arbeiten kann. Panda hat ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 8 StundenInternet2 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 12 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 1 TagWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 1 TagSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs24 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell21 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...