Du brauchst keine Passwörter, es reicht wenn Du das Token der fraglichen Session dupliziert und für CreateProcessAsUser verwendest. So verwende ich das von einem Dienst aus problemlos, um Feedback anzuzeigen / abzufragen.
Stichworte: TcbPrivilege, DebugPrivilege, ImpersonatePrivilege, WTSGetActiveConsoleSessionId, WTSQueryUserToken (Stolperfalle: funktioniert nur von Systemdiensten aus), DuplicateTokenEx, CreateProcessAsUser. War meine ich hier schonmal Thema