TIA Letzten Benutzer aus Anmeldialog entfernen

baalrok

Level-2
Beiträge
47
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich benutze TIA V14 SP1 Update 1 und WinCC Advanced V14 SP1 Update 1.

Ist es möglich, nachdem sich ein Benutzer (z.B. Admin) von der Benutzerverwaltung abgemeldet hat, diesen aus dem Anmeldedialog zu löschen, damit beim nächsten Anmeldevorgang der Benutzername des Vorgängers nicht mehr zu sehen ist? Es handelt sich dabei nicht um eine relevante Funktion sondern um "schöner wohnen". Der Kunde möchte nicht immer, je nach Berechtigungsstufe den Benutzernamen erst löschen müssen, bevor er sich als Maschienenfüher, Bediener, oder sonst was anmelden kann.
Würde mich über Hilfe von euch freuen.

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Übrigens, wenn man in dem Feld Benutzer die Entertaste drückt, dann wird der komplette Name markiert und man kann ihn direkt überschreiben.
Somit ist es nur noch ein Tastendruck mehr als wenn das Feld schon leer ist.
Wenn das Benutzer-Feld schon vorbelegt ist dann steht der Eingabecursor im Kennwort-Feld und es muß zusätzlich zuerst das Benutzer-Feld aktiviert werden - es sind also mindestens 2 unerträgliche zusätzliche Klicks oder Tastendrücke nötig, um den Benutzername zu löschen/überschreiben...

Die von Siemens vorgeschlagene Lösung ist natürlich typisch Siemens - da wird eine Unzulänglichkeit durch eine andere unzulängliche Krücke umgangen ... nur weil Siemens seit mehr als 10 Jahren keine Lust hat, die Vorbelegung abschaltbar zu machen.

Meines Wissens ist es nicht möglich, die Vorbelegung des Benutzernamens im Anmeldedialog abzuschalten oder einfach zu löschen. Vermutlich ist das von Siemens so gewollt, möglicherweise regen sich mehr Bediener auf wenn das Feld nicht vorbelegt ist ...

@baalrok
Du kannst ja mal Siemens fragen/bitten, daß so eine wichtige Funktion in das WinCC eingebaut wird, z.B. als projektierbare Runtime-Einstellung oder als Ereignis "Anmeldedialog aufgebaut"


Der einzige mir bekannte Weg, im Anmeldedialog das Feld mit der Vorbelegung des Benutzer-Namens zu löschen, ist der Versuch einen Benutzer ohne Name anzumelden - was natürlich fehlschlagen wird, aber das Benutzer-Feld im Anmeldedialog wird gelöscht.
Dummerweise löst der Versuch eine Systemfehlermeldung aus, was im Ereignisprotokoll Verwirrung stiften kann. Dadurch verbietet sich eine Lösung, die automatisch bei jedem Benutzerwechsel ausgeführt wird. (bei der Siemens-Lösung mit dem Dummy-User wird da großzügig drüber weggesehen)

Man könnte ein Skript mit der Anmeldung des namenlosen/Dummy-Users an das Ereignis "Gekommen" der Systemmeldung 260000 anbinden, dann wird die Vorbelegung des Benutzernamens nur gelöscht, wenn die Anmeldung fehlschlug, und eine Systemfehlermeldung wird nur erzeugt, wenn sowieso gerade die selbe Systemfehlermeldung auftrat - im Ereignisprotokoll stehen dann immer 2 Systemmeldungen 260000 mit dem gleichen Zeitstempel nacheinander. Mit dieser Lösung hat man wenigstens verhindert, daß gedankenlose Bediener stur dreimal ihr Password eingeben und nicht sehen daß ein anderer Benutzername dasteht und der andere Benutzer gesperrt wird.

Code:
Sub LeerenBenutzerAnmelden()
[COLOR="#008000"]'einen User ohne Name anmelden, damit im Anmeldedialog die Vorbelegung des Benutzername gelöscht wird
'die Anmeldung wird fehlschlagen und die Systemmeldung 260000 "...Anmeldung fehlgeschlagen." auslösen
'Falls das Skript bei der Systemmeldung 260000 beim Ereignis "Gekommen" aufgerufen wird,
'dann ist keine Verriegelung gegen unendlichen Ereignis-Loop notwendig (TIA V13 SP1)[/COLOR]
Dim user, pwd
user = ""
pwd = ""
Logon pwd, user [COLOR="#008000"]'die Anmeldung des user ohne Name wird fehlschlagen und Systemmeldung 260000 auslösen[/COLOR]
End Sub


Alternative:
In den Runtime-Einstellungen/Benutzerverwaltung "Login nur mit Kennwort möglich" aktivieren. (Dann kann es allerdings nicht 2 Benutzer mit dem selben Passwort geben.)

Harald
 
Wie sieht der Skript aus, damit man den letzten Benutzer aus dem Anmeldedialog entfernen kann und wie wird er aufgerufen?

Danke für Unterstützung!

Gruss
TMaroni
 
Wie sieht der Skript aus, damit man den letzten Benutzer aus dem Anmeldedialog entfernen kann und wie wird er aufgerufen?
:confused:
Das Skript steht genau vor Deinem Beitrag und es wird da aufgerufen wo Du diese Krücke für sinnvoll hältst, z.B. wie ebenfalls in dem Beitrag vor Dir beschrieben beim Ereignis "Gekommen" der Systemmeldung 260000. Die Nebenwirkungen mit den möglicherweise irritierenden Systemmeldungen sind ebenfalls in dem Beitrag vor Dir beschrieben.

Oder was meinst Du mit Deiner Frage?

Harald
 
Wenn man das Skript aus Beitrag #3 bei Benutzerwechsel aufruft dann kann sich niemand mehr anmelden :cool:
Man müsste in dem Fall das Skript modifizieren, so daß der Anmeldeversuch mit dem namenlosen Benutzer nur erfolgt, wenn der Benutzerwechsel eine Benutzer-Abmeldung ist:
Code:
Sub LeerenBenutzerAnmelden()
Dim user, pwd

GetUserName user
If user = "" Then [COLOR="#008000"]'der Benutzerwechsel ist eine Benutzer-Abmeldung[/COLOR]
  user = ""
  pwd = ""
  Logon pwd, user [COLOR="#008000"]'die Anmeldung des user ohne Name wird fehlschlagen und Systemmeldung 260000 auslösen[/COLOR]
End If
End Sub

Ich würde wie bereits zweimal beschrieben das Skript beim Ereignis "Gekommen" der Systemmeldung 260000 aufrufen - allerdings kann man da beim ersten Anmeldeversuch noch den Name des zuletzt angemeldeten Benutzers sehen (das Benutzer-Feld ist vorausgefüllt). Ich habe grad kein TIA greifbar, eventuell muß man bei TIA wie bei WinCC flexible extra einstellen, daß die Systemmeldungen im Projektbaum eingeblendet werden. Dann kann man bei der Systemmeldung 260000 beim Ereignis "Gekommen" (oder "Kommen" ?) den Skriptaufruf projektieren.

Harald
 
Zurück
Oben