Zum Inhalt wechseln


Foto

Status des Spooler grafisch darstellen


  • Bitte melde dich an um zu Antworten
9 Antworten in diesem Thema

#1 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 19. November 2005 - 13:03

Hallo Gemeinde,

ich möchte den Status der Druckwarteschlangen von Rechnern einer Gruppe einzeln oder für die Gruppe auf dem Bildschirm des Dozenten anzeigen.
Der Status des Spoolers eines einzelnen Rechners ist mit SC in der For-Schleife abfragbar.
for /f "tokens=3 skip=3" %%i in ('sc query spooler R214-PC01') do set var=%%i & goto out
:out
echo %var%
pause
Was mir fehlt, ist die Darstellung als Icon oder etwas ähnliches. Leider habe ich bei VBS geschlafen oder anders gefehlt.

Kann mir bitte jemand einen Tipp geben, wie sowas mit möglichst geringen Aufwand zu bewältigen ist?

Dank für Aufmerksamkeit und Rat.

Edgar

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#2 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 20. November 2005 - 12:47

hallo Edgar,
nimm doch das den Perfmon her. Das Print Queue Objekt liefert dir alle möglichen Aussagen zum Thema Drucke. Den perfmon lässt sich auch sehr komfortabel mit HTML automatisieren, so dass ein Doppelklick reicht um die gewünschte Anzeige zu bekommen

cu
blub

#3 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 20. November 2005 - 13:12

Hallo Blubb,

danke für den (Reise)Tipp. ;)

Da stehe ich vor diesem Rock, schaue erfürchtig empor und weiss nicht, wie ich den Besteigen soll oder traue mich nicht. Mit Html kenne ich mich nicht aus, den Begriff Perfmon habe ich schon mal gelesen.

Ich möchte das Problem nochmals darlegen.

Es geht letztlich um die Verringerung von Druckkosten in einem Rechnerpool für Studenten.

Es gibt 26 Rechner für Studiosos, einen für den Dozenten und einen Laser an einem SOHO-PS.

Die Studenten sollen nur noch mit Erlaubnis des Dozenten drucken können.

Mein Grundgedanke ist, deaktiviere die Druckewarteschlange (spooler) beim Start des Rechners, beim Abmelden des Users jeweils auf den lokalen Rechner. Der Dozent startet die Spooler mittels eines Programmes (batch, VBS. ... ). Mit SC.exe ist das möglich, funktioniert sehr schön.
Dann kam mir noch der Gedanke, es wäre doch für den Dozenten (auch für mich) schön, den Status der Spooler beobachten zu können. Der Aufwand sollte gering sein, möglichst mit meinen (zu erweiternden) Kenntnissen machbar. Eine kleine Anzeige, in der jeder Spooler, dessen Status mit einem kleinen Symbol farbig dargestellt wird.

Gruß

Edgar

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#4 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 20. November 2005 - 13:40

ja, ist nicht so schwierig. Wenn ich heute abend dazu komme, kriegst du eine Auswertungsprogramm

gib mal auf deinem Rechner
typeperf -a "print queue"
ein und sag mir ein oder zwei counter, die dich interessieren.

Wenn du deutsche Clients überwachen willst, brauche ich die Counter von einem deutschen Client. Da heissts dann aber nicht
typeperf -a "print queue", sondern irgendwie übersetzt

Gib mir auch ein paar Rechnernamen, die überwacht werden sollen

cu
blub

#5 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 20. November 2005 - 14:32

Hallo Blubb,

danke für dein freundliches Angebot.

Den Parameter -a scheint es nicht zu geben.

Microsoft© TypePerf.exe (5.1.2600.0)
¸ Microsoft Corporation. Alle Rechte vorbehalten.

Typeperf schreibt Leistungsindikatorendaten in die Befehlszeile oder in eine
Protokolldatei. Drcken Sie STRG+C, um Typeperf zu beenden.

Syntax:
typeperf { <Indikator [Indikator ...]>
| -cf <Dateiname>
| -q [Objekt]
| -qx [Objekt]
} [Optionen]

Parameter:
<Indikator [Indikator ...]> Zu berwachende Leistungsindikatoren

Optionen:
-? Zeigt die kontextsensitive Hilfe an.
-f <CSV|TSV|BIN> Ausgabedateiformat. Standard ist CSV.
-cf <Dateiname> Datei der zu berwachenden
Leistungsindikatoren (eine pro Zeile).
-si <[[hh:]mm:]ss> Zeit zwischen Beispielen. Standard ist 1
Sekunde.
-o <Dateiname> Pfad der Ausgabedatei oder der SQL-Datenbank.
Standardm„áig STDOUT.
-q [Objekt] Listet installierte Leistungsindikatoren auf
(keine Instanzen). Zum Auflisten von
Leistungsindikatoren fr nur ein Objekt,
geben Sie auch den Objektnamen ein wie, z.B
Prozessor.
-qx [Objekt] Listet installierte Leistungsindikatoren mit
Instanzen auf. Zum Auflisten von
Leistungsindikatoren fr nur ein Objekt,
geben Sie auch den Objektnamen ein wie, z.B
Prozessor.
-sc <Beispiele> Anzahl der zu sammelnden Beispiele. Beispiele
werden erstellt, bis STRG+C gedrckt wird.
-config <Dateiname> Einstellungsdatei, die Befehlsoptionen
enth„lt.
-s <Computername> Server fr die šberwachung, wenn kein Server
im Leistungsindikatorenpfad angegeben wird.
-y Antwortet JA auf alle Fragen ohne
Aufforderung

Hinweis:
Indikator ist der Name eines Leistungsindikators im Format
"\\<Computer>\<Objekt>(<Instanz>)\<Indikator>",
wie z. B. "\\Server1\Prozessor(0)\% Benutzerzeit".

Beispiele:
typeperf "\Prozessor(Insgesamt)\% Prozessorzeit"
typeperf -cf Indikator.txt -si 5 -sc 50 -f TSV -o domain2.tsv
typeperf -qx Phy.Datentr„ger -o Indikator.txt


Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#6 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 20. November 2005 - 19:47

agrr, hab mich vertippt.
"typeperf -q" muss es natürlich heissen

#7 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 21. November 2005 - 13:39

Hallo Blubb,

nun habe ich es endlich geschafft.

typeperf -q "Druckerwarteschlange"

\Druckerwarteschlange(*)\Gesamtanzahl gedruckter Aufträge
\Druckerwarteschlange(*)\Bytes gedruckt/s
\Druckerwarteschlange(*)\Gesamtanzahl gedruckter Seiten
\Druckerwarteschlange(*)\Aufträge
\Druckerwarteschlange(*)\Referenzen
\Druckerwarteschlange(*)\Referenzenmaximum
\Druckerwarteschlange(*)\Aufträge in Warteschlange
\Druckerwarteschlange(*)\Maximale Auftragsanzahl in Warteschlange
\Druckerwarteschlange(*)\Kein Papier
\Druckerwarteschlange(*)\Nicht bereit
\Druckerwarteschlange(*)\Auftragsfehler
\Druckerwarteschlange(*)\Netzwerkdrucker aufzählen
\Druckerwarteschlange(*)\Netzwerkdrucker hinzufügen


Ich bin erfreut über dein Hilfsangebot.

Dank & Gruß

Edgar

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#8 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 21. November 2005 - 20:16

Hi Edgar,
speichere den folgenden Code in einer HTML Datei
--
<Body>
<Script Language="vbscript">
<!--
sub window_onload()
On Error Resume Next
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Gesamtanzahl gedruckter Aufträge"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Bytes gedruckt/s"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Gesamtanzahl gedruckter Seiten"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Aufträge"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Aufträge in Warteschlange"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Maximale Auftragsanzahl in Warteschlange"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Kein Papier"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Nicht bereit"
mymonitor.counters.add "\\pc1\druckerwarteschlange(*)\Auftragsfehler"



mymonitor.ManualUpdate=False
mymonitor.Graphtitle="Überwachung der Druckerwarteschlange @blub"
mymonitor.ShowHorizontalGrid=True
mymonitor.ShowVerticalGrid=True
mymonitor.DisplayType=2
mymonitor.UpdateInterval=15
mymonitor.ShowValueBar=True
mymonitor.BackColor=vbGreen
mymonitor.ShowLegend=True
end Sub
-->
</script>
<object classid="clsid:C4D2D8E0-D1DD-11CE-940F-008029004347" ID="mymonitor"
width="80%" height="100%"
</object>
</body>
--

laufen tuts nur auf einem englischen XP/2003 Rechner, aber überwachen kannst du damit deutsche clients. Ich habe nur die deutsche Syntax nicht gefunden.
Tausche pc1 durch deinen Clientnamen aus, du kannst auch mehrere PCs überwachen. Einfach doppelklicken und ca. 20s warten, dann kommen die Ergebnisse online rein. Wenns nicht klappt, musst du auf dem Monitoring-Rechner den Service "Performance Logs an Alerts" mit einer Kennung ausstatten, die Adminrechte auf den Clients hat

cu
blub

#9 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 22. November 2005 - 07:07

Hallo Blubb,

ich danke für deine Hilfe. Ich werde das nachher probieren, ich bin gespannt darau.

Gruß

Edgar

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#10 lefg

lefg

    Expert Member

  • 20.510 Beiträge

 

Geschrieben 24. November 2005 - 08:25

@Blubb

Hallo Blubb,

endlich bin ich dazu gekommen, mir dein Werk anzuschauen, austesten muss ich es noch. Es wird nicht vergebens sein. Ich habe damit den Zipfel einer interessanten Sache in der Hand.

Es ist aber leider nicht das von mir Gedachte. Wahrscheinlich habe ich meinen Bedarfswunsch nicht genau genug beschrieben.

Es gibt eine Klassenraum mit Rechnern für Studenten, einen SOHO-Printserver mit einem Laser dran. Die Rechner drucken direkt auf den Printserver. Das funktioniert auch ganz zufriedenstellend.

Nun wollen wir das Drucken aus wirtschaftlichen Gründen einschränken. Dazu wird jeweils die Druckwarteschlange der einzelnen nach dem Systemstart deaktiviert und soll bei Bedarf vom Dozentenplatz aus wieder aktiviert werden. Dem Dozenten möchte ich als kleines Hilfsmittel eine Anzeige zur Verfügung stellen. Angezeigt werden soll für jeden einzelnen Rechner, ob die Warteschlange aktiviert ist oder nicht.
Das ob ist mit der For-Schleife abfragbar. Wie das Display zu gestalten ist habe ich keine Ahnung.
Für jeden Rechner (5 Reihen a 6 Rechner) müsste es ein Symbol geben, je nach Status in grün oder rot. Grösse und Gestalt, ja etwas grösser als ein Punkt jedenfalls, damit auch ältere Kolleg(inn)en mit nicht mehr aktuellen Brillengläsern das sehen können.

Das Ganze ist nicht wirklich wichtig.

Habe Dank für Aufmerksamkeit und Hilfe.

Edgar

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)