Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi anderen Benutzer abmelden (https://www.delphipraxis.net/108716-anderen-benutzer-abmelden.html)

cherry 18. Feb 2008 12:29


anderen Benutzer abmelden
 
Hi zusammen

Einleitung...

Wir verwenden in unserer Firma das veraltete Symantec Livestate Dilivery (LSD) um Software zu verteilen... Wenn ein Client angemeldet ist und auf dessen Rechner Software verteilt wird, geschieht die Installation über ein Domänenadministratorenkonto names "SMECLNT"...
nach der Fertigstellung der Installation wird der Computer entsperrt und der Benutzer hat wieder die Kontrolle über seinen Rechner, mit seinem angemeldeten Konto.

mit LSD kann man z.B. auch Neustarte durchführen, leider aber keine Abmeldung... für die neuste Software genügt aber eine Ab- und anschliessende Anmeldung.

Für diesen Zweck habe ich ein kleines Programm erstellt, dass den angemeldeten Benutzer abmeldet. Soweit so gut.
Das PROBLEM ist jetzt: Ich starte mein Abmeldungstool am Schluss der Installation mit dem Benutzer "SMECLNT" danach wird die Installation beendet und der Benutzer kann zwischen den Schaltflächen "Jetzt abmelden" und "Später abmelden" wählen.

Das Tool wurde aber als "SMECLNT" gestartet und meldet deshalb nicht den angemeldeten Benutzer ab, sondern den "SMECLNT"... der ja eigentlich gar nicht angemeldet ist...

Wie kann ich also...

mit meinem Programm auf Knopfdruck den angemeldeten Benutzer abmelden, wenn mein Programm mit einem anderen Benutzer gestartet wurde...

???

Vielen Dank schon mal

Liebe Grüsse

Cherry

Dezipaitor 18. Feb 2008 19:48

Re: anderen Benutzer abmelden
 
Schuss ins Blaue:
Benutzer personifizieren (Impersonate...) und dann ExitWindows mit LogOFF Parameter. Geht aber nur mit Adminrechten.

cherry 20. Feb 2008 07:21

Re: anderen Benutzer abmelden
 
hab ich soeben ausprobiert, leider erfolglos. Ist genau dasselbe passiert... Kann mit denn niemand weiterhelfen?

Dezipaitor 20. Feb 2008 12:10

Re: anderen Benutzer abmelden
 
Probier mal das aus.

Remko 20. Feb 2008 13:14

Re: anderen Benutzer abmelden
 
I think there are several options:

1) Grab the token from the user you want to logoff, then user createprocessasuser. This process uses ExitWindows(Ex) to logoff.
2) Providing Terminal Server (eg Windows XP Pro) is running you can use the Terminal Server API to logoff a specific session, which would probably be the console session (use WTSGetActiveConsoleSessionId to obtain sessionid).
3) Maybe WTS_WSD_LOGOFF as Chris suggested is a good solution for you (according to docs you cannot remote logon after, but im not sure this is true for workstation also).

If a restart is ok you can offcourse use Terminal Server Shutdown function.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz