2014-12-05 3 views
1

Я пытаюсь запустить exe-файл как другой пользователь из сценария python. Я пробовал использовать Subprocess, используя «runas» cmd, он не смог получить пароль от communicate("password") или от stdin. Вот часть кода для подпроцесса,Как запустить приложение (.exe) в качестве другого пользователя с помощью сценария python

Пробовал так:

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. Примечание: пользователь может быть из любой группы или местных пользователей.

+0

Смотрите это: http://superuser.com/questions/615654/run-exe-file-via-python-as-administrator – runDOSrun

ответ

-1

Вы пробовали передать пароль через командную строку? Вы можете оставить «как пароль», если он пуст.

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

Да пробовал, это не сработало. Это неправильный формат для использования команды «runas». –