如何使用python脚本以不同的用户身份运行应用程序(.exe)

时间:2014-12-05 12:37:26

标签: python cmd uac runas

我试图以不同的用户运行exe文件来自python脚本。我尝试使用Subprocess,使用“runas”cmd无法从communicate("password")或stdin接收密码。这是子进程代码的一部分,

试过这个:

p = subprocess.Popen("runas /user:.\\admin cmd.exe").communicate("abc12346")

和此:

p1 = subprocess.Popen("echo abc123456",shell=True,stdout=subprocess.PIPE)
p2 = subprocess.Popen("runas /user:.\\admin cmd.exe",shell=True,stdin=p1.stdout).communicate()

两者都给出错误,错误

Enter the password for MyPC\admin:
Attempting to start cmd.exe as user "MyPC\admin" ...
RUNAS ERROR: Unable to run - cmd.exe
1326: Logon failure: unknown user name or bad password.

注意:我提供的密码是正确的。

请让我知道如何以不同的用户身份运行它来使用python脚本。 注意:用户可以来自任何组或本地用户。

1 个答案:

答案 0 :(得分:-1)

您是否尝试过通过命令行传递密码?你可以离开''作为密码,如果它是空的。

subprocess.call(['runas', '/user:Administrator', 'ADMIN_PASS','cmd.exe'])