Linux服务器远程连接window服务器并执行cmd命令


  前段时间,要给一个分布式调度系统写一个运维脚本,这个分布式调度系统部分子系统部署在window服务器上,这个时候就要想办法用Linux远程来连接window服务器,并执行cmd命令。下面是我的解决方法:

  1、在Linux服务器上的处理

    首先需要在Linux中安装python,并且安装pywinm库。安装之前首先需要安装isodate和xmlwitch两个依赖包,在安装pywinrm。下面是安装时用到的命令。

    安装依赖包

pip install isodate
pip install xmlwitch

    安装pywinrm

pip install pywinrm

  2、在window服务器上的操作

    在window服务器上,要打开winrm服务。下面是操作流程:

    第一步:用管理员权限打开windows powershell

    

    第二步:首先查看winrm service的运行状态,默认情况是没有开启的;执行命令为空是没有启动。

winrm enumerate winrm/config/listener

    第三步:对winrm service进行配置

winrm quickconfig

    第四步:为winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

    第五步:为winrm service 配置加密方式为允许非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

  3、下面是执行cmd命令的源码

import winrm

win = winrm.Session('http://192.168.0.19:5985/wsman',auth=('wt','635870838'))
r = win.run_cmd('ipconfig')  #执行cmd命令
print(r.std_out.decode()) # 打印获取到的信息
print(r.std_err) #打印错误信息

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM