在 python 中使用 subprocess.run 以管理员身份运行进程
问题描述
有没有办法将一些 runas=True
arg 传递给 python 中的 subprocess.run
函数?我想以管理员身份运行一个进程(提升它).感谢您的回答:)
Is there a way of passing some runas=True
arg to a subprocess.run
function in python? I want to run a process as admin (elevate it). Thanks for answers :)
使用 Windows 操作系统.
Using Windows OS.
解决方案
由于没有指定OS,我以MS Windows OS为例
since OS is not specified, I will take the example of MS Windows OS
Windows 有一个命令行实用程序Run as",可以用作
Windows has a command line utility "Run as", which can be used as
runas [{/profile |/noprofile}] [/env] [{/netonly |/savecred}] [/smartcard] [/showtrustlevels] [/trustlevel]/user:<UserAccountName><程序名><PathToProgramFile>"
供进一步参考https://technet.microsoft.com/en-us/library/cc771525.aspx
您可以在下面的代码中使用它
You can use this in code like below
import subprocess as sp
prog = sp.Popen(['runas', '/noprofile', '/user:Administrator', 'NeedsAdminPrivilege.exe'],stdin=sp.PIPE)
prog.stdin.write('password')
prog.communicate()
相关文章