speedy-luis
Goto Top

Zentrale Übersicht wer ein bestimmtes Programm geöffnet hat

Hallo Miteinander,

folgendes Szenario:

Wir verwenden eine bestimmte CAD-Software, wovon wir eine Anzahl x an Lizenzen haben.
Die Lizenzen werden über einen Server (online) vom Hersteller abgerechnet. Leider wird den Usern bei Überschreitung der Anzahl x der Zugang zur besagten Software nicht gesperrt. Am Monatsende erhalten wir dann eine Rechnung für die Übernutzung der Software. Dies würden wir gerne unterbinden bzw. zumindest kontrollieren. Der Hersteller hat dazu eine Software, welche aber sehr teuer ist...

Ich habe mir folgendes vorgestellt:
Alle CAD-Arbeitsplätze starten die genannte Software mittels einer Batch-Datei. Diese Batch-Datei schreibt außerdem in eine (zentrale) Log-Datei, dass User X das CAD-Programm am Tag Y zur Uhrzeit Z gestartet hat.
Bis hierher habe ich auch keine Probleme.
Sobald ein User die Software wieder schließt, soll die eingetragene Zeile in der Log-Datei logischerweise wieder gelöscht werden. Dadurch hätte ich zumindest immer eine aktuelle Übersicht, wer die Software verwendet.

Die aktuelle Batch-Datei sieht so aus:

@echo off
set log=\\samba\mitarbeiter\admin\Lic_usage.txt
echo %computername% – %username% – %date% %time% Software in Verwendung >> %log%
C:\pfad\zur\software.exe

Wie bekomme ich es hin, dass beim Schließen der Software die Zeile der Logfile des jeweiligen Users wieder gelöscht wird?

Oder habt ihr andere Ideen um dieses Problem zu lösen?

Grüßeb

Content-Key: 272964

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

Printed on: April 24, 2024 at 18:04 o'clock

Member: sk-it83
sk-it83 May 26, 2015 at 14:41:23 (UTC)
Goto Top
Moin,

es handelt sich aber nicht zufällig um Bentley oder? :D

Wobei ich mich frage wie du das mit deiner Logdatei dann unterbinden willst?

VG
Member: psannz
psannz May 26, 2015 at 14:57:19 (UTC)
Goto Top
Sers,

welches Lizenzprogramm wird denn verwendet? Eventuell FlexNet/LMtools von Flexera?

Grüße,
Philip
Member: speedy-luis
speedy-luis May 26, 2015 at 15:00:09 (UTC)
Goto Top
Hi,

genau, es handelt sich um Bentley face-sad

Der erste Step wäre vorerst nur eine Übersicht für die Admins. Damit hätten wir zumindest mal einen Vergleich mit den Übernutzungen von Bentley...

Gruß
Member: speedy-luis
speedy-luis May 26, 2015 at 15:01:23 (UTC)
Goto Top
Es wird leider kein Lizenzprogramm verwendet. Sonst wäre die Sache einiges einfacher...

mfg
Member: chiefteddy
chiefteddy May 26, 2015 updated at 15:26:18 (UTC)
Goto Top
Hallo,

wenn Du aus einer Batch ein anderes Programm aufrufst,

C:\pfad\zur\software.exe

bleibt die Batch solange aktiv bzw. offen, bis das aufgerufene Programm geschlossen wird. Danach werden die Zeilen/Befehle in der Batch, welche nach dem Programmaufruf kommen, abgearbeitet.

Dort kannst Du nun eine weiter Batch aufrufen (oder direkt in die Haupt-Batch programmieren), die die LOG-Datei nach einen Eintrag:

echo %computername% – %username% – %date% %time% Software in Verwendung

durchsucht und diesen löscht.

Problem ist nur, dass der User die offene Batch wärend er mit dem CAD-Programm arbeitet, nicht von Hand schließen darf (was ja normalerweise möglich ist), da sonst nach Beendigung des CAD-Programms die restlichen Batch-Zeilen nicht mehr ausgeführt werden.

Jürgen
Member: Meierjo
Solution Meierjo May 26, 2015, updated at Jun 03, 2015 at 13:34:09 (UTC)
Goto Top
Hallo

Ich würde pro User / Rechnername eine %user%-%Computername%.log Datei erstellen lassen (leer oder nicht leer).
Wenn der User sein CAD wieder schliesst, würde die passende *.log gelöscht werden.
Würgt der User irrtümlicherweise die Batch ab, bleibt die *.log natürlich stehen, würde dann beim nächsten Starten und korrekt schliessen erst gelöscht, oder aber du lässt nachts eine Bereinigung laufen.
Somit wärst du aber auf der sicheren Seite, dass keine Lizenz zuviel gebraucht wird

Und in einem Unterverzeichnis könntest du in entsprechenden Logs auflisten, welcher User / Computer das CAD an welchem Tag geöffnet hatte (ich nehme an, die Lizenzen werden pro Tag verrechnet, nicht pro Start an einem bestimmten Computer)

Gruss Urs
Member: Endoro
Endoro May 26, 2015 at 15:52:16 (UTC)
Goto Top
Hey,
du könntest das über "start /wait" realisieren, wobei mir das Schreiben/Lesen/Umkopieren einer Textdatei in einer Multiuserumgebung gar nicht gefallen würde. Eine andere Möglichkeit wäre der Eintrag in einer Logdatei von jedem Arbeitsplatz in einem zentralen Ordner, das Programmende wird einfach auch eingetragen. Das Log ließe sich mit einem einfachen Skript nach einem Tag oder wann immer auswerten.

Gruß, Endoro
Member: psannz
psannz May 26, 2015 updated at 15:57:33 (UTC)
Goto Top
Ok... Habt ihr OpenNMS, Nagios, Icinga, oder ein sonstiges Netzwerkmonitoring Tool im Einsatz dass Windows Prozesse oder Dienste erfassen kann?

Alternativ? Periodisch ein Abfrageskript laufen lassen und die Ergebnisse entsprechend parsen.
Mittels PowerShell könnte die Abfrage so aussehen:

$computers = Get-Content -Path C:\apps\computers.txt
get-process -Name "CADapplication" -ComputerName $computers | ft name,machinename  
Member: Borob14
Borob14 May 27, 2015 at 11:45:17 (UTC)
Goto Top
Hi,

das selber zu Programmieren wird aufwendig, Bentley stellt öfters was um, mittlerweile auf 1 Std umgestellt (Lizenz die genutzt wurde darf min 1 Std. nicht von anderer Person genutzt werden (sonst Strafe) Dazu kommen noch Sonderfälle wie Inroads die mehrere Lizenzen benutzen (Microstation + Inroads) und belegen.
Inroads selber startet nach dem Start z. Bsp. kurz das Inroads, beendet es und startet Microstation + Inroads -> viel Spaß beim abfangen...

Die stellen so oft was um, das merkst du dann wieder erst bei der nächsten Rechnung ;)

Dazu kommen noch die User die dann die Software auch auf diesem Wege starten müssen. Es gibt ja noch die Dateiverknüpfungen, Desktop Links, Startleiste, usw... da kommst du selber nicht auf einen grünen Zweig. Ich kann dir nur raten das über ne Fremdfirma machen zu lassen, außer du hast wirklich zu viel Zeit dich darum regelmäßig zu kümmern.

Wir nutzen die Fremdsoftware CC_Run / CC_watch (http://www.cadcom.de)-&g); sehr guter Support und reagieren schnell auf Updates die Bentley raus bringt. Preis Leistung OK wir mussten noch nie Strafe zahlen.

mfg Rob