我必须使用python脚本创建一个具有Admin权限的新进程。我在互联网上搜索了这个主题,发现我必须使用runas
命令。对于这个命令,我必须给一个用户,在运行时,脚本将等待密码,我想尽可能自动地执行此操作。
这是我的代码:
import subprocess
p = subprocess.Popen(['runas', '/user:Armando', szCmdCommand], stdin = subprocess.PIPE)
p.stdin.write('password')
而不是.write
我尝试了p.communicate(input='password')
但它没有工作,因为它没有写密码。唯一发生的事情是脚本不会等待输入。它会自动输入错误的密码并且无法执行我的命令。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
期望输入密码的程序通常不会使用标准输入(stdin)的简单读取,但是它们直接控制终端(正如您在source code of the getpass
module中看到的那样)。
使用其他内容,例如: