【pywinrm库】基于python控制调用远程windows服务器的命令

您所在的位置:网站首页 python执行多条cmd命令 【pywinrm库】基于python控制调用远程windows服务器的命令

【pywinrm库】基于python控制调用远程windows服务器的命令

2023-08-10 15:02| 来源: 网络整理| 查看: 265

参考:python 远程windows系统执行cmd命令 - drewgg - 博客园z

为windows开启winrm service, 以便进行远程管理:https://jingyan.baidu.com/article/9158e0006b27dfa254122813.htmlhttps://jingyan.baidu.com/article/9158e0006b27dfa254122813.html

python 远程windows系统执行cmd命令

如果你的服务器是windows系统,不想一台一台mstsc远程到桌面上去操作,python是有模块可以远程处理的:winrm

pip install pywinrm 安装模块即可

windows系统服务器需要开启 winrm 服务

具体开启方法:

cmd命令行输入: # 开启服务 1.winrm quickconfig 会有两次确认 # 查看监听端口等信息 2.winrm e winrm/config/listener # 授权 3.winrm set winrm/config/service/auth @{Basic="true"} # 不加密模式 4.winrm set winrm/config/service @{AllowUnencrypted="true"}

λ winrm enumerate winrm/config/listener Listener Address = * Transport = HTTP Port = 5985 Hostname Enabled = true URLPrefix = wsman CertificateThumbprint ListeningOn = 10.116.0.30, 69.176.89.133

上面的cmd命令可以写成一个.bat文件,在服务器上直接执行即可:

bat命令:

echo y| winrm quickconfig echo y| winrm quickconfig winrm e winrm/config/listener winrm set winrm/config/service/auth @{Basic="true"} winrm set winrm/config/service @{AllowUnencrypted="true"}

因为有两次手动确认的过程,写了两个echo y|解决。

以上准备工作做好就可以在python里操作了

举个例子:

1 # -*- coding = utf-8 -*- 2 # ------------------------------ 3 # @time: 2020/9/1 17:54 4 # @Author: drew_gg 5 # @File: mstsc_windows.py 6 # @Software: api_locust 7 # ------------------------------ import winrm # 注意:5985/wsman”每台服务器上应该都是固定相同的。 con = winrm.Session('http://49.37.168.224:5985/wsman', auth=("administrator", "23423423***")) # 杀掉进程 con.run_cmd("taskkill /f /pid 6748") 关于winrm再扩展一些知识: 执行以下命令能够以每组多达50个实例的速度获取实例 winrm set winrm/config @{MaxBatchItems="50"} 通过增大分配的最大封包大小和超时设置,提高性能 winrm set winrm/config @{MaxEnvelopeSizekb="150"} winrm set winrm/config @{MaxTimeoutms ="60000"} 获取当前winRM配置 winrm g winrm/config TrustedHosts 是一个数组,用于指定可信的远程计算机的列表;同一工作组中的其他计算机或不同域中的计算机均应添加到此列表中;执行以下命令可将所有计算机都纳入TrustedHosts winrm s winrm/config/Client @{TrustedHosts="*"} 将客户端计算机设置为使用基本身份验证 winrm s winrm/config/Client/Auth @{Basic="true"}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3