synchro
Goto Top

Lizenverbrauch einer Anwendung ermitteln

Hallo Gemeinde,

wenn Frage in einem anderen Bereich besser aufgehoben ist: bitte verschieben.

Ich fahre in einem Windwos 2008 Server Netz, fünf Terminalserver. Alle User können eine Anwendung starten und verbrauchen dabei eine Lizenz. Diese wird bei Beendigung des Programms wieder freigegeben.

Bei den Usern handelt es sich um Vollzeitkräfte und um Teilzeitkräfte. Wobei die Teilzeitkräfte im Moment nicht bestimmten Tagen und Arbeitszeiten zugeordnet sind, sondern Sie können arbeiten wann Sie wollen.
Nun kommt es vor, dass an einen Wochentag mehr User die Anwendung benutzen wollen, als Lizenzen vorhanden sind.

Ich möchte nun die tägliche Auslastung der Anwendung ermitteln. Soll heißen, wer nutzt wann, wie lange die Anwendung.

Damit sollte es möglich sein, die Teilzeitkräfte zu terminieren und so eine Überlastung der vorhanden Lizenzen vermeiden.

Hat jemand einen Tipp

Danke

Content-ID: 164880

Url: https://administrator.de/contentid/164880

Ausgedruckt am: 08.11.2024 um 19:11 Uhr

H41mSh1C0R
H41mSh1C0R 19.04.2011 um 14:50:29 Uhr
Goto Top
Per Powershellscript oder einer anderen Sprache die Prozessliste pollen und ermitteln wieviele Prozesse offen sind. Dabei kannste dann noch gleich die Zeit nehmen, den User dem der Prozess gehört nehmen und alles mit Windows Boardmitteln.

Du schreibst das eine Lizenz verbraten ist wenn der User xyz die App startet.

Kann ein User die App mehrfach starten und somit mehrere Lizenzen belegen?

Wir hatten ein ähnliches Problem und sind ganz fix weggekommen von Lizenz/gestartete Instanz und hin zu ner Lizenz/Terminalserver. Denn jemehr Lizenzen wir angeschafft haben desto mehr Clients wurden aufgemacht. xD

vg
Snowman25
Snowman25 19.04.2011 um 15:37:25 Uhr
Goto Top
Hallo @Synchro,

Eine Idee wäre, das Programm durch ein Skript starten zu lassen, welches protokolliert, wer wann das Programm öffnet.
Du erstellt z.B. auf C:\ ein solches Skript:
@Echo off
SET logpfad=\\SERVER\Pfad\prog.log
SET progpfad=<pfad zum programm>
SET predate=%date%
SET pretime=%time%
Echo Programm 'xyz' wurde von %USERNAME%@%USERDOMAIN% am %predate% um %pretime% geSTARTet!>>%logpfad%  
start "" /wait %progpfad%  
Echo Programm 'xyz' wurde von %USERNAME%@%USERDOMAIN% am %date% um %time% beENDEt!>>%logpfad%  
Echo (Startzeit war am %predate% um %pretime%)>>%logpfad%
Echo ----------------->>\\SERVER\Pfad\prog.log
Echo.>>\\SERVER\Pfad\prog.log

Wenn du nun (ebenfalls auf C:\) ein kleines VBSkript schreibst, welches das Batchskript versteckt aufruft, dann bekommt das auch niemand mit.
VBSkript:
Set objShell = CreateObject("WScript.Shell")  
objShell.Run "prescript.bat",0,False  

Zum Schluss ersetzt du die Verknüpfungen auf dem Desktop und im Startmenü mit einer Verknüpfung auf das VBSkript und verpasst ihr noch das passende Logo. Fertig.

Gruß
Snow
Synchro
Synchro 19.04.2011 um 15:45:23 Uhr
Goto Top
Hi Snowman25,

vielen Dank.

Super sogar mit fertigen Script zum ausprobieren. Werde ich am Wochenende testen.

Melde mich hier wieder.
H41mSh1C0R
H41mSh1C0R 19.04.2011 um 15:51:57 Uhr
Goto Top
Schickes Script, so kann man es natürlich auch lösen.

Was machst du wenn das Script nicht regulär beendet wird?

vg
Synchro
Synchro 19.04.2011 um 15:58:29 Uhr
Goto Top
Hallo vg,

die User können regulär jeweils nur eine Lizenz verbrauchen. Die Anwendung lässt sich in einer TS-Sitzung nur jeweils einmal starten. Selbst wenn ein User mehrere Sitzungen öffnet, kann er sich nicht mehrfach anmelden, es sei denn er kennt die Zugangsdaten anderer User. TS-Lizenzen stehen im Moment noch nicht zur Verfügung.

Grüße
H41mSh1C0R
H41mSh1C0R 19.04.2011 um 16:06:08 Uhr
Goto Top
Interessehalber:

Hat die Software eine eigene Nutzerverwaltung oder übers AD und die Software läßt bloss 1 Anmeldung zu?

vg
Snowman25
Snowman25 19.04.2011 um 16:58:23 Uhr
Goto Top
Zitat von @H41mSh1C0R:
Schickes Script
Danke face-smile
Was machst du wenn das Script nicht regulär beendet wird?
Für diesen Fall könnte man das VBSkript so anpassen, dass es auf die Beendigung des Programms wartet und den Errorcode ausliest, wonach dann ein Batch-Einzeiler (Echo -!!-----!!->>\\SERVER\Pfad\Prog.log&&Echo Programm 'xyz' wurde unerwartet von %USERNAME%@%USERDOMAIN% am %date% um %time% beendet. FEHLER!>>\\SERVER\Pfad\Prog.log&&Echo -!!-----!!->>\\SERVER\Pfad\Prog.log) einen entsprechenden Eintrag ins Log schreibt.

Gruß
Snow
60730
60730 20.04.2011 um 06:48:42 Uhr
Goto Top
moin,

Ich möchte nun die tägliche Auslastung der Anwendung ermitteln. Soll heißen, wer nutzt wann, wie lange die Anwendung.

Das ist aber hoffentlich mit dem Betriebsrat abgestimmt?

Damit sollte es möglich sein, die Teilzeitkräfte zu terminieren und so eine Überlastung der vorhanden Lizenzen vermeiden.

Moment, du willst diejenigen bestrafen, die eh nur den halben Tag zeit haben, Ihren Job zu machen, damit die "volllangedasind" immer arbeiten könnten?

Geh zum Chef und sag Ihm, wir brauchen mehr Lizensen.
@ Snow ich hätte das so nicht gemacht - sondern mit Tasklist jede Stunde auf jedem TS....
Wenn die Software den "Lizenzverstoß" nicht eh protokoliiert.

Gruß