python3通过winrm远程执行windows服务器dos命令
创始人
2024-03-19 03:07:31
0

Background

  • 在实际项目中,一般使用Linux作为生产服务器,但有时就会出现一些特殊情况,你只能使用windows作为作为服务器,比如说一个用fortran编写的仿真程序,编译环境用的intel的oneAPI,按理说这个编译器是是支持windows、linux和mac平台的,但是不同平台的编译命令还不一样,无法找到相应的编译参数,没办法,只能使用windows作为服务器了。
  • python3中远程控制库中,像远程控制linux服务器的paramiko,同样也有远程控制windows服务器的pywinrm,可以远程执行 cmd、powerSehll命令。不过,需要在被控端 windows 开启 winrm 服务
  • pywinrm官方文档

1、在被控端 windows 开启 winrm 服务

  • 以管理员启动cmd
    在这里插入图片描述

  • 启动 winrm 服务

如果遇到网络设置问题如下图1,可以win+i,然后按照下图2进行操作设置。

winrm quickconfig -q

在这里插入图片描述
在这里插入图片描述

  • 查看winrm服务的状态
winrm e winrm/config/listener
# 或者
winrm enumerate winrm/config/listener

在这里插入图片描述

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

在这里插入图片描述

  • 为winrm service 配置加密方式为允许非加密(若防火墙没开的话这条可不用执行)
winrm set winrm/config/service '@{AllowUnencrypted="true"}'

在这里插入图片描述

2、在控制端需要安装pywinrm库

pip3 install pywinrm

3、通过 pywinrm 远程执行 cmd、powerSehll命令

import winrmdef win_cmd(cmd: str):"""远程调用 windows 执行命令"""hostname = '110.110.110.110'username = 'user1'password = '123456'wintest = winrm.Session('http://' + hostname + ':5985/wsman', auth=(username, password))res = wintest.run_cmd(cmd)if res.status_code == 0:res = res.std_out.decode().replace('\n', '').replace('\r', '')return {'sta': 200, 'res': res}else:return {'sta': 201, 'res': res.std_err}def main():"""主函数"""cmd = 'python3 -V'print(win_cmd(cmd))if __name__ == '__main__':main()

相关内容

热门资讯

住户养百余只猫引发邻里纠纷 北... 12月19日,随着住户曹某将100余只猫全部迁出,一场发生在北京石景山的邻里纠纷得以实质化解。 一住...
新修订的《河南省征兵工作条例》... 日前,省人大常务委员会发布公告,新修订的《河南省征兵工作条例》自2026年1月1日起施行。 据省征兵...
云南出台重要条例!明年1月1日... 《云南省县级人民代表大会常务委员会街道工作委员会工作条例》将于2026年1月1日起施行。12月26日...
第四批生态环境损害赔偿十大典型... 12月26日,生态环境部联合住房城乡建设部、水利部、农业农村部,共同发布第四批生态环境损害赔偿十大典...
海峡创新(300300)披露对... 截至2025年12月26日收盘,海峡创新(300300)报收于17.15元,较前一交易日上涨0.94...
年度“法规体检”报告亮相 备案... 中新社北京12月26日电 (记者 谢雁冰)督促纠正要求残疾人机动轮椅车登记应当具有本市常住户籍问题,...
福田区保险业人民调解委员会成立... 深圳新闻网2025年12月23日讯(记者 翁任莹)近日,深圳市福田区保险业人民调解委员会正式启动运行...
兰心十年:用制度承载善意 在许多人的想象中,公益往往诞生于某个情绪的高点。但真正能走得长远的公益,几乎都不是这样开始的。对陈婧...
青海省公共法律服务平台累计指引... 人民网西宁12月26日电 (记者况玉)记者从12月26日召开“十四五”发展成就系列主题新闻发布会青海...