Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
Delphi 7 Professional
|
Re: Vista Systemdienst -> Programm mit Adminrechten start
13. Dez 2007, 11:33
wenn ich mich nicht irre passiert folgendes unter Vista:
CreateProcessAsUser entnimmt dem übergebenen Token alle Adminrechte, sobald der Benutzer Administrator ist. Das Token des Benutzers hat dann ein sogenanntes LinkedToken, welches man stattdessen verwenden muss.
Kurz gesagt, verwendet CreateProcess bei einem bekannten Token, nimmt es das LinkedToken stattdessen. Du kannst es natürlich auch verwenden direkt. Verwirrt?
Übrigens hast du noch ein paar Dinge nicht bedacht:
+Die Tokengroupliste muss die Logon-Sid des Benutzers besitzen, der den Prozess ausgeführt haben will. Das gibt zugriff auf den Desktop.
+LoadUserProfile sollte verwendet werden (z.b. wenn der Benutzer noch nicht eingeloggt wurde)
+Schon an die verschiedenen TerminalSessions gedacht? Benutzer können nicht nur lokal sich einloggen, sondern auch remote. Der Dienst muss das erkennen und die Session wechseln.
|