首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将管理员权限设置为subprocess.check_call()

在Python中将管理员权限设置为subprocess.check_call()
EN

Stack Overflow用户
提问于 2013-12-11 05:43:11
回答 2查看 19.6K关注 0票数 0

我从python脚本调用了两个可执行文件,一个需要管理员权限,另一个不需要管理员权限。有没有什么方法可以在执行可执行文件之前设置管理员权限,这样它就不会要求我输入密码。

我的脚本如下

代码语言:javascript
复制
import subprocess

subprocess.check_call(['DoesnotNeedAdminPrivilege.exe'])
subprocess.check_call(['NeedsAdminPrivilege.exe'])

我尝试从cmd运行此脚本,方法是启动cmd作为管理员运行。有没有办法将这些管理员权限传递给第二个可执行文件,使其正常工作

EN

回答 2

Stack Overflow用户

发布于 2016-11-17 05:00:52

我发现了一个讨厌的变通方法

代码语言:javascript
复制
    f = open('test.cmd', 'w+')
    f.write("execute.exe")
    f.close()

    os.system("runas /savecred /profile /user:Administrator \"test.cmd\"")

或者,您可以使用子进程

票数 2
EN

Stack Overflow用户

发布于 2013-12-11 06:10:15

在输入管理密码时,请尝试此操作。

代码语言:javascript
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20505893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档