I have a service running in the Windows services (0) session. Upon connection from a client I need to create a new Windows session for given user credentials, log in that user and start an application into this new session.
Is there a way to programmatically create a user session for given user credentials?
AFAIK, you cannot create sessions programmably. The client would have to connect to the machine using Terminal Services or Remote Desktop for that. You can, however, programmably log in to a user account and impersonate it if you just need to run a process as that user without making it visible to the screen. Look at LogonUser()
and ImpersonateLoggedOnUser()
, CreateProcessAsUser()
, or CreateProcessWithLogonW()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With