AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm von Dienst starten lassen (Jetzt aber wirklich mal)
Thema durchsuchen
Ansicht
Themen-Optionen

Programm von Dienst starten lassen (Jetzt aber wirklich mal)

Ein Thema von CodeX · begonnen am 25. Feb 2008 · letzter Beitrag vom 5. Aug 2014
 
Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
55 Beiträge
 
Delphi 2005 Personal
 
#40

AW: Programm von Dienst starten lassen (Jetzt aber wirklich mal)

  Alt 5. Aug 2014, 08:19
Ich muß diesen Thread noch mal hervorholen.

Ich habe einen Service, der Programme starten soll. Und zwar soll er die Programme unter dem Accaunt starten, unter dem er selbst angemeldet ist. Soweit erstmal läuft es.

Aus dem Service bekomme ich die SECURITY_LOGON_SESSION_DATA:
Delphi-Quellcode:
  PSECURITY_LOGON_SESSION_DATA = ^SECURITY_LOGON_SESSION_DATA;
  _SECURITY_LOGON_SESSION_DATA = record
    Size : ULONG;
    LogonId : LUID; // LUID of the logon session.
    UserName : LSA_UNICODE_STRING; // Account name of the logon session.
    LogonDomain : LSA_UNICODE_STRING; // Domain used to authenticate the owner of session.
    AuthenticationPackage : LSA_UNICODE_STRING;
    LogonType : SECURITY_LOGON_TYPE;
    Session : ULONG; // A Terminal Services session identifier.
    Sid : PSID; // A pointer to the user's security identifier (SID).

    ...

  end;
  SECURITY_LOGON_SESSION_DATA = _SECURITY_LOGON_SESSION_DATA;
Lauft der Service auf Session = 0 ist ja alles kein Problem.
Lauft der Service aber auf Session = 1 tritt folgendes Problem auf:

Delphi-Quellcode:
...
    Result := WTSQueryUserToken(WTSGetActiveConsoleSessionId, hUserToken);
    If not Result then
      Log(' => WTSQueryUserToken ERROR: ' + SysErrorMessage(GetLastError));
...
erzeugt verständlicherweise die Fehlermeldung:
Code:
         => WTSQueryUserToken ERROR: Dem Client fehlt ein erforderliches Recht
In MSDN sthet ja auch drinnen:
Code:
...
the calling application must be running within the context of the LocalSystem account and have the SE_TCB_NAME privilege.
...

Ich suche jetzt eine Möglichkeit irgendwie anders mit den obigen Daten an hUserToken heranzukommen.

Danke für die Bemühungen,
Fuchtel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 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