如何远程控制windows执行一个持续运行的进程

  一般情况下,对命令的执行是需要返回的,但是在某些情况下,是不需要命令返回,而是需要制造出一个进程,持续跑,例如一个TCP server。

       windows有winrm,可以使用python进行连接,从linux和windows都可以操作。

       winrm的配置过程简单写一下

1 winrm quickconfig -quiet
2 
3 winrm e winrm/config/listener
4 
5 
6 winrm set winrm/config/service/auth @{Basic="true"}
7 
8 
9 winrm set winrm/config/service @{AllowUnencrypted="true"}

  控制节点安装winrm

1 pip install pywinrm

  假如windows节点为192.168.1.1, 用户名和密码是administrator, 1qaz@WSX, 而要执行成程序为test.exe

1 import winrm
2 
3 s = winrm.Session('192.168.1.1', ('administrator', '1qaz@WSX'))
4 r = s.run_cmd("powershell Invoke-WmiMethod -Class win32_process -Name create -ArgumentList 'C:\\test.exe'")
5 print r.status_code
6 print r.std_out
7 print r.std_err

  即可利用powershell调用WMI接口,创建一个叫test.exe的进程

 

posted @ 2020-06-18 20:59  苏陌宁  阅读(757)  评论(0编辑  收藏  举报