Benutzer mit den meisten Antworten
Printer Job Info \ Printer Performance

Frage
-
Hallo Zusammen
Eine etwas schwierige aufgabe. Powershell und Printing ist etwas neues für mich.
Besteht die möglichkeit mit PS herauszufinden welche Jobs gedruckt worden sind und vor allem wie lange der Print Job gedauert hat auf dem Server?
Wisst ihr wo diese Infos vorhanden sind? Eventvwr?
Desweiteren besteht die möglickeit die Performance zu Messen während des Druck vorgangs? Kann mir vorstelle das das etwas schwierig sei könnte.
Habe leider kein Code. Bin für jede Idee dankbar.
Vielen dank
Grüsse
Antworten
-
Zufällig gerade nicht. :)
Aber -mal vorausgesetzt die Grundidee ist gut (siehe weiter unten)- wenn du mit dem Logging durch bist, hast du schon 75% des Codes für eine generelle Geschwindigkeitsmessung: die Auswertung des der Printjob-Events. Was dann noch fehlt ist das gezielte erzeugen eines Jobs, ergo das Drucken eines beliebigen Dokuments. Dafür gibts "das out-printer"-Cmdlet.
Das sollte alles kein großes Problem sein, es wird nur darauf ankommen ob du einerseits deinen erzeugten Druckjob auf dem Druckserver eventmässig eindeutig identifizieren kannst und welche Zeitpunkte in der Verarbeitung des Jobs sich aus den Events eindeutig herauslesen lassen. Das musst du ausprobieren.
ABER: Man sollte sich auch vorher mal genau überlegen WAS den eigentlich genau gemessen werden soll, also Client-, Server-, Drucker- oder Netzwerkperformance oder einfach alles zusammen. Eine generelle Messung wie oben beschrieben, erlaubt dir zwar hinter zu sagen: "Ein Druckjob braucht vom Absenden am Client, bis zum Papierauswurf am Drucker durchschnittlich x Minuten." und ist eine gute Basis zur Erkennung ob es ein Problem gibt. Aber solche Messungen sind natürlich nur sinnvoll wenn sie -bei Performancedefiziten- auch Hinweise auf Maßnahmen zur Performanceverbesserung bieten. Hierfür musst du aber zumindest die Flaschenhalskomponente (Client,Server,Drucker oder Netzwerk) benennen können.
Also: genau überlegen was die Messung hinterher aussagen können soll und dann überlegen wie man das erreichen kann. Grundsätzlich ist das aber ein spannendes Projekt was -genügend Einsatz von dir vorrausgesetzt- :) wir hier weiterentwickeln können.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".- Als Antwort markiert Disco_G Dienstag, 16. April 2013 08:02
Alle Antworten
-
Was das Logging der Jobs betrifft ist offenbar in der Tat das Eventlog der beste Weg. Eine schnelle Suche offenbart diverse Artikel und Beispielscripte die sich mit der Frage befassen: LINK
Schau doch mal wie weit du damit kommst. Mit einem konkreten Problem im Script kannst du dann wieder hier fragen.Die Performance der Jobs wirst du im allgemeinen kaum messen können. Es könnte aber möglich sein mit einem Testscript einen Job zu erzeugen und aus den Rückmeldungen im Eventlog und dem zugehörigen Timestamp die Bearbeitungszeit zu messen. Ich bin ziemlich sicher das es außerdem Herstellertools zur Performancemessung gibt. Ich meine mal sowas von HP gesehen zu haben.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".- Bearbeitet Denniver ReiningMVP, Moderator Donnerstag, 11. April 2013 10:36
-
Hallo Denniver
Vielen dank für deine Antwort.
Ich schaue mir die such resultate mal an.
Betreffend:Es könnte aber möglich sein mit einem Testscript einen Job zu erzeugen und aus den Rückmeldungen im Eventlog und dem zugehörigen Timestamp die Bearbeitungszeit zu messen.
Hast du per zufall ein Script wo das macht?
Grüsse
-
Zufällig gerade nicht. :)
Aber -mal vorausgesetzt die Grundidee ist gut (siehe weiter unten)- wenn du mit dem Logging durch bist, hast du schon 75% des Codes für eine generelle Geschwindigkeitsmessung: die Auswertung des der Printjob-Events. Was dann noch fehlt ist das gezielte erzeugen eines Jobs, ergo das Drucken eines beliebigen Dokuments. Dafür gibts "das out-printer"-Cmdlet.
Das sollte alles kein großes Problem sein, es wird nur darauf ankommen ob du einerseits deinen erzeugten Druckjob auf dem Druckserver eventmässig eindeutig identifizieren kannst und welche Zeitpunkte in der Verarbeitung des Jobs sich aus den Events eindeutig herauslesen lassen. Das musst du ausprobieren.
ABER: Man sollte sich auch vorher mal genau überlegen WAS den eigentlich genau gemessen werden soll, also Client-, Server-, Drucker- oder Netzwerkperformance oder einfach alles zusammen. Eine generelle Messung wie oben beschrieben, erlaubt dir zwar hinter zu sagen: "Ein Druckjob braucht vom Absenden am Client, bis zum Papierauswurf am Drucker durchschnittlich x Minuten." und ist eine gute Basis zur Erkennung ob es ein Problem gibt. Aber solche Messungen sind natürlich nur sinnvoll wenn sie -bei Performancedefiziten- auch Hinweise auf Maßnahmen zur Performanceverbesserung bieten. Hierfür musst du aber zumindest die Flaschenhalskomponente (Client,Server,Drucker oder Netzwerk) benennen können.
Also: genau überlegen was die Messung hinterher aussagen können soll und dann überlegen wie man das erreichen kann. Grundsätzlich ist das aber ein spannendes Projekt was -genügend Einsatz von dir vorrausgesetzt- :) wir hier weiterentwickeln können.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".- Als Antwort markiert Disco_G Dienstag, 16. April 2013 08:02