Prev: Help needed in downloading Brown corpus
Next: recommended way to insert data into a one to many relationship usingpython
From: News123 on 1 May 2010 10:44 Hi, I have a small python script, which has been started as normal non privileged user. At a later point in time it would like to start another python script with elevated privileges. How can I write my code such, that I will get the privilege elevation prompt and I can start a sub process / python function with elevated privileges. thanks for any hints. Under Linux Ubuntu I would use sudo/gksu Under Windows 7 I'm a little lost. A Python only solution is of course prefered, but any .bat .c .C# .cmd wrapper would be fine. N
From: News123 on 1 May 2010 11:57 I Found a first solution, though not very satisfying: News123 wrote: > Hi, > > I have a small python script, which has been started as normal non > privileged user. > > At a later point in time it would like to start another python script > with elevated privileges. > > How can I write my code such, that I will get the privilege elevation > prompt and I can start a sub process / python function with elevated > privileges. > > thanks for any hints. > > Under Linux Ubuntu I would use sudo/gksu > > Under Windows 7 I'm a little lost. > > A Python only solution is of course prefered, but any .bat .c .C# .cmd > wrapper would be fine. > I could call following command: PowerShell -Command (New-Object -com 'Shell.Application').ShellExecute('Cmd.exe', '/c c:\abs_path_to_my_app\pyscript.pyw', ' ', 'runas') So I might do something like: # ########### script starts import subprocess cmd_wrap = "PowerShell -Command (New-Object -com "\ "'Shell.Application').ShellExecute('Cmd.exe', "\ "'/c %s', '', 'runas')" args = r"c:\abspathtommyapp\myapp.pyw" cmd = cmd_wrap % args # create KW args to hide console kwargs = { } su = subprocess.STARTUPINFO() su.dwFlags |= subprocess.STARTF_USESHOWWINDOW su.wShowWindow = subprocess.SW_HIDE kwargs['startupinfo'] = su p = subprocess.Popen( cmd.split() , **kwargs ) # script ends here However my issue is, that I have one annoying console window popping up when PowerShell starts cmd.exe Is there anything better?
From: Tim Golden on 6 May 2010 05:11
On 01/05/2010 15:44, News123 wrote: > Hi, > > I have a small python script, which has been started as normal non > privileged user. > > At a later point in time it would like to start another python script > with elevated privileges. > > How can I write my code such, that I will get the privilege elevation > prompt and I can start a sub process / python function with elevated > privileges. The canonical way is to use the "runas" verb from within ShellExecuteEx, which is exposed by the win32api module. TJG |