在远程Windows机器上使用cmd运行程序

时间:2017-12-08 21:22:44

标签: python windows python-3.x cmd

我想创建一个Python脚本,使用psexec在远程Windows机器中打开cmd,并从此cmd运行my_program.exe,当发生某些事件时,它会将Ctrl + c发送到my_program.exe,以某种方式处理此信号。

这是我的代码:

from os import chdir, path
from subprocess import Popen, PIPE


psexec_dir = r'C:\Users\amos1\Downloads\PSTools'
chdir(psexec_dir)
path.join(psexec_dir, 'psexec.exe')

command = ['psexec.exe', '\\amos', 'cmd']
p = Popen(command, stdin = PIPE, stdout = PIPE)
p.stdin.write(b'my_program.exe\r\n')
while True:
    if some_condition:
        ctrl_c = b'\x03'
        p.stdin.write(ctrl_c)
        break
for line in p.stdout.readlines():
    print(line)
p.kill()

问题:

  • my_program.exe无法运行
  • p.kill引发 WindowsError:[错误5]访问被拒绝(即使我使用了来自here的答案并在我的代码中同时执行了chdir和path.join)
  • 请注意,我的计算机和目标计算机都是Windows计算机

0 个答案:

没有答案