[python-win32] how to use CreateProcessWithLogonW

Emin.shopper Martinian.shopper emin.shopper at gmail.com
Mon Jun 1 16:32:23 CEST 2009


Dear Experts,

Can someone provide an example of how to use CreateProcessWithLogonW?

I am having some issues with the subprocess module and how it
interacts with win32security.ImpersonateLoggedOnUser. Specifically, I
use the latter to change users but the new user does not seem to be
properly inherited when I spawn further subprocesses.

I am doing something like

   import win32security, win32con
   handle = win32security.LogonUser(
       user,domain,password,win32con.LOGON32_LOGON_INTERACTIVE,
       win32con.LOGON32_PROVIDER_DEFAULT)

   win32security.ImpersonateLoggedOnUser(handle)

Then spawning subprocesses but the subprocesses cannot read the same
UNC paths that that the parent could.

I believe the problem is because the subprocess module calls
CreateProcess but CreateProcess does not inherit what
ImpersonateLoggedOnUser does. I believe using CreateProcessWithLogonW
may solve the problem but am willing to try other alternatives.

Any advice on either spawning subprocesses which inherit parent user
properly or changing users in a better way on Windows would be greatly
appreciated.

Thanks,
-Emin


More information about the python-win32 mailing list