import subprocess,time
psexecloc ="C:\\Users\\administrator\\Desktop\\sample\\bin\\psexec.exe"
remotecmd="notepad.exe"
username = "XXXr"
password = "XXXXXXX"
remotehostname = "XXXXXXXX"
args =
[psexecloc, "-u", username, "-p", password, remotehostname, remotecmd]
output = subprocess.Popen(args, shell=False, stdout=subprocess.PIPE)
time.sleep(30)
outstr=output.communicate()
stdoutstr = outstr[0]
stderrstr = outstr[1]
print ("Output Tupple: ",outstr)
只需一个cmd会弹出一个ms,在此代码中遇到问题请帮助
答案 0 :(得分:1)
请注意,PsExec的语法符合您的需求:
psexec \\hostname -u user -p pass executable
如果是GUI,请添加-i
标记。
从san的评论开始,加载GUI可执行文件需要的时间比非gui exe
所以现在我已经测试了以下功能:
缺少的部分是主机名
import subprocess,time
psexecloc ="psexec.exe"
remotecmd="notepad.exe"
username = "XXXr"
password = "XXXXXXX"
remotehostname = "\\\\my-pc-name"
args = [psexecloc, "-i", "-u", username, "-p", password, remotehostname, remotecmd]
output = subprocess.Popen(args, shell=False, stdout=subprocess.PIPE)
time.sleep(30)
outstr=output.communicate()
stdoutstr = outstr[0]
stderrstr = outstr[1]
print ("Output Tuple: ",outstr)