Задайте права администратора для subprocess.check_call () в Python

Я вызываю два исполняемых файла из сценария python, который требует привилегий администратора и тот, который им не нужен. Есть ли способ, с помощью которого я могу установить привилегии администратора перед выполнением исполняемого файла, чтобы он не запрашивал у меня пароль.

Мой сценарий выглядит следующим образом

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

Я попытался запустить этот скрипт из cmd, запустив cmd для запуска в качестве Adminstrator. Есть ли способ передать эти права администратора во второй исполняемый файл, чтобы он работал без каких-либо проблем

Попробуйте ввести пароль администратора.

 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() 

Ниже приведены документы:

Popen – http://docs.python.org/2/library/subprocess.html#popen-constructor

runas – http://technet.microsoft.com/en-us/library/cc771525.aspx

если это будет зависеть от программы NeedsAdminPrivilege.

Я нашел неприятный обходной путь

  f = open('test.cmd', 'w+') f.write("execute.exe") f.close() os.system("runas /savecred /profile /user:Administrator \"test.cmd\"") 

или вы можете использовать подпроцесс