我从python脚本调用了两个可执行文件,一个需要管理员权限,另一个不需要管理员权限。有没有什么方法可以在执行可执行文件之前设置管理员权限,这样它就不会要求我输入密码。
我的脚本如下
import subprocess
subprocess.check_call(['DoesnotNeedAdminPrivilege.exe'])
subprocess.check_call(['NeedsAdminPrivilege.exe'])我尝试从cmd运行此脚本,方法是启动cmd作为管理员运行。有没有办法将这些管理员权限传递给第二个可执行文件,使其正常工作
发布于 2016-11-17 05:00:52
我发现了一个讨厌的变通方法
f = open('test.cmd', 'w+')
f.write("execute.exe")
f.close()
os.system("runas /savecred /profile /user:Administrator \"test.cmd\"")或者,您可以使用子进程
发布于 2013-12-11 06:10:15
在输入管理密码时,请尝试此操作。
import subprocess as sp
sp.check_call(['DoesnotNeedAdminPrivilege.exe'])
prog = sp.Popen(['runas', '/noprofile', '/user:Administrator', 'NeedsAdminPrivilege.exe'],stdin=sp.PIPE)
prog.stdin.write('password')
prog.communicate()以下是关于以下内容的文档:
打开- http://docs.python.org/2/library/subprocess.html#popen-constructor
runas - http://technet.microsoft.com/en-us/library/cc771525.aspx
这是否有效将取决于程序NeedsAdminPrivilege。
https://stackoverflow.com/questions/20505893
复制相似问题