python3远程执行windows服务器dos命令,通过winrm

这里我的windows服务器是win7的,现在我需要在我的本地电脑上运行python代码去停止远程运行的python程序,这里通过pywinrm这个模块来操作执行,网上有使用ansible来管理windows服务器,但是也是需要windows服务器上开启winrm服务,所以在这里对我而言使用pywinrm就可以满足我的需求。

1.在开启 windows 的 winrm服务之前,首先得将网络设置为专用,否者就会出现下面问题

 设置的方法很简单,就是在公用网络设置为工作网络即可。。。

2.下载 pywinrm 库

pip install pywinrm

3.在远端windows服务器上开启winrm服务

winrm quickconfig

# 查看winrm service listener
winrm e winrm/config/listener

# 为winrm service 配置auth:
winrm set winrm/config/service/auth @{Basic="true"}

为winrm service 配置加密方式为允许非加密:
winrm set winrm/config/service @{AllowUnencrypted="true"}

开启 winrm  的结果图如上所示

4.杀掉远端 windows 上运行的python进程

import winrm

wintest = winrm.Session('http://144.48.66.**:5985/wsman', auth=("账号名", "密码"))
# 9068为远程运行python进程pid
wintest.run_cmd("taskkill /f /pid 9068")


PS:杀掉进程需要进程的pid, 获取当前运行python程序的pid: os.getpid()

参考:https://blog.csdn.net/together_cz/article/details/86623977


版权声明:本文为rongDang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。