Fehlgeschlagene Anmeldungen Dokumentieren,Doppelte Anmeldung

31. März 2006 13:17

Hallo,

ich habe da noch zwei Fragen:
Ist es möglich, das ich Fehlgeschlagene Anmeldungen (Wenn keine Sessions (Lizenzen) mehr Verfügbar sind!) zu Dokumentieren?

Kann ich doppelte Anmeldungen unterbinden bzw. inaktive User beenden?
Gruß Mikka

31. März 2006 13:47

Zu fehlgeschlagenen Anmeldungen kann ich nichts sagen.

Aber für die Unterbindung einer doppelten Anmeldung könnte das helfen (innerhalb CU 1):

Code:
in CU 1 LoginStart neue Variable (or Aufruf in ander CU mit folgendem Code)

Variables
Name   DataType   Subtype   Length
WSH   Automation   'Windows Script Host Object Model'.WshShell   
Session   Record   Session   

LoginStart()
//neuer Code +
Session.reset;
Session.setrange("Benutzer ID",UserID);
if Session.count > 1 then begin //there is a another session
  CREATE(WSH);
  WSH.SendKeys('%{F4}');
END;
//neuer Code -

31. März 2006 14:18

Danke Rotsch,
der Vorschlag mit dem Windows scripting Host ist Super :-)


Gruß Mikka

3. April 2006 13:21

rotsch hat geschrieben:CREATE(WSH);
WSH.SendKeys('%{F4}');


Kleine Frage,
Warum Funktioniert der obrige Code?
Eigentlich kenne ich das Programmbeenden nur mit Alt+F4!
Oder steht das % für den Tastendruck F4?

Gruß Mikka

3. April 2006 13:32

mikka hat geschrieben:Warum Funktioniert der obrige Code?


Das kann ich auch nicht genau sagen, da ich den Code irgendwo mal gefunden und so übernommen habe.

Ich denke, das ist die Syntax im Scripting für Alt+F4

3. April 2006 19:00

Das % steht für die Alt-Taste, die gescheiften Klammern stellen sicher, dass die Taste F4 und nicht Tasten F und 4 gemeint ist.

3. April 2006 20:45

@Rotsch,
Die Lösung ist einfach nur genial!

3. April 2006 22:00

Mit SendKeys lässt sich so einiges machen, daher hier mal die komplette Übersicht:
MSDN Library SendKeys Method

Da ich auch schon einiges über WSH gelöst habe (z. B. den Registry-Zugriff), hier auch mal die Windows Script Host Übersicht.

4. April 2006 07:25

Schumi hat geschrieben:@Rotsch,
Die Lösung ist einfach nur genial!


Stimmt, ich habe das ganze mit der Tabelle-Nr. 2000000003 "Mitglied von" (Fin 4.0 = "Member Of") verknüpft. In dem Code wird geprüft, ob der User "SUPER" Rechte hat, wenn nein, darf dieser auch nicht mehrere Sessions öffnen.
Code:
Variablen:
Name_____DataType____Subtype__Length
Session____Record_______Session   
Mitgliedvon_Record______Mitglied von   

Trigger - LoginStart()
// 001 MR +++
IF NOT Mitgliedvon.GET(USERID,'SUPER','') OR Mitgliedvon.GET(USERID,'SUPER',COMPANYNAME)  THEN BEGIN
  Session.RESET;
  Session.SETRANGE("Benutzer ID",USERID);
  IF Session.COUNT > 1 THEN BEGIN            //there is a another session
    CREATE(WSH);
    // IF CONFIRM('Es besteht bereits eine Sitzung für %1,\ aktuelle Anmeldung beenden?',FALSE,USERID) THEN
    WSH.SendKeys('%{F4}');
  END;
END;
// 001 MR ---


Timo Lässler hat geschrieben:Mit SendKeys lässt sich so einiges machen, daher hier mal die komplette Übersicht:
MSDN Library SendKeys Method

Da ich auch schon einiges über WSH gelöst habe (z. B. den Registry-Zugriff), hier auch mal die Windows Script Host Übersicht.


Danke Timo für die Links, bis ich die alle gelesen und ausprobiert habe, ist der Sommer bestimmt vorbei :wink:
(Haben wir eigentlich hier irgendwo ein Linkarchiv, es währe Schade, wenn diese in den Beiträgen Vergessen werden?!)
Gruß Mikka

4. April 2006 22:24

mikka hat geschrieben:[...]
(Haben wir eigentlich hier irgendwo ein Linkarchiv, es währe Schade, wenn diese in den Beiträgen Vergessen werden?!)
Gruß Mikka

Ja, schau mal ganz oben in die Navigationsleiste, da findest du zwischen FAQ und Suchen die Links 8-)
Ich habe die Links dort jedoch nicht eingetragen, da ich der Suchfunktion des Forums vertraue.
Die Wortwahl meines Beitrags ist kein Zufall, sondern speziell für die Suchfunktion optimiert. Die Suche indiziert alle Worte ab 3 Buchstaben, so wird der Beitrag also unter den Stichworten "WSH", "SendKeys", "Script", "MSDN", "Registry", ... gefunden.