Expect是一个用于生成子应用程序并控制它们的模块.我对Python和Ruby感兴趣.
我已经成功地让 python 打开了 cmd。但是,使用 runas 管理员在执行 cmd.exe 之前会进行密码检查。
我用它来打开cmd...
import subprocess
subprocess.call(["runas", "/user:Administrator", "cmd.exe"])
我正在寻找一种方法来自动将密码输入到运行代码时打开的 runas.exe 提示符中。假设我要创建var = "test"并添加它,import subprocess我将如何制作它以便将该变量传递给 runas.exe 并将其视为 runas.exe 的输入?
该解决方案仅需要 3.4 或更高版本的 python 模块。
我发现一些代码似乎直接输入到 runas.exe 中。然而,明显的输入是\x00\r\n在代码中输入应该是的时候test,我相当确定如果我可以获得输入,那么test代码就会成功。
代码如下:
import subprocess
args = ['runas', '/user:Administrator', 'cmd.exe']
proc = subprocess.Popen(args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
proc.stdin.write(b'test\n')
proc.stdin.flush()
stdout, stderr = proc.communicate()
print (stdout)
print (stderr)
Run Code Online (Sandbox Code Playgroud)