【发布时间】:2014-07-07 12:52:31
【问题描述】:
@hybris95 - 由于问题的范围已经改变并且您已经做出响应,我会将您的初始答案标记为解决方案,但我发布了一个后续问题
我的 python 脚本以提升用户身份执行另一个脚本。不幸的是,它在执行过程中要求我输入密码。
如何对密码进行硬编码,或自动从其他地方读取密码?有没有可以在 Python 中完成的解决方法?
import os
import sys
import win32com.shell.shell as sh
ASADMIN = '/user:DOMAIN\user'
os.system('"runas /user:DOMAIN\user "D:/Python27/python.exe myscript.py""')
sys.exit(0)
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ''.join([ASADMIN] + ['D:\Python27\python.exe',script] + sys.argv[1:])
sh.ShellExecuteEx(lpVerb='runas',lpFile=sys.executable,lpParameters=params)
sys.exit(0)
更新了代码,还是报错
import os
import sys, subprocess, socket, string
import wmi, win32api, win32con
import win32com.shell.shell as sh
command = 'runas /user:DOMAIN\username "D:/Python27/python.exe myscript.py"'
pst = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE)
pst.communicate("password123")
我得到的错误
Attempting to start D:/Python27/python.exe script.py as user "DOMAIN\username" ...
RUNAS ERROR: Unable to run - D:/Python27/python.exe myscript.py
1326: Logon failure: unknown user name or bad password.
【问题讨论】:
-
@goncalopp --- 我提到了 Python,以防万一有可以在 Python 中完成的解决方法
标签: python windows passwords elevated-privileges