如何使用Python脚本中的PSexec连接连接到远程计算机

时间:2017-02-21 14:05:36

标签: python-3.x

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,在此代码中遇到问题请帮助

1 个答案:

答案 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)