Einzelnen Beitrag anzeigen

Assarbad
(Gast)

n/a Beiträge
 
#2

Re: Programm im Programm mit standard Rechten starten..?!

  Alt 26. Dez 2004, 16:21
Zitat von freakfly:
Ich habe ein Problem, und werde mal versuchen dieses zu erklären....
Ich bin am PC eingelogged als unser "Standard". Ich habe ein Programm gecodet, dass ein anderes mit einem anderen User startet (User "RunAppl"). Dies mache ich mit MSDN-Library durchsuchenCreateProcessWithLogonW. Aus diesem Programm muss wieder ein Programm gestartet werden, aber wieder mit den Rechten des angemeldeten Benutzers.
Dies würde zwar auch mit derselben Funktion gehen, aber dazu müsste ich immer das Passwort des bereitsangemeldeten Benutzers wissen....

Wenn jemand Fragen und Ideen hat, bitte posten!!!
Okay, User A startet Programm A im Kontext von User B. Danach läuft Programm A also im Kontext von User B. Wenn du normal per ShellExecute() von Programm A (im Kontext von User B) aus ein weiteres Programm B startest, geschieht dies ebenfalls im Kontext von User B. Soll Programm B nun aber wiederum im Kontext von User A gestartet werden, so mußt du CreateProcessWithTokenW() benutzen und vorher mit DuplicateToken() eine Kopie des Logontokens von User A an Programm A weitergeben. Somit kann Programm A das Programm B im Kontext von User A starten ohne das Paßwort zu kennen, denn User A ist ja bereits eingeloggt, es existiert also ein gültiges Token

  Mit Zitat antworten Zitat