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"}
上面的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 # ------------------------------ 8 9 import winrm 10 11 con = winrm.Session('http://49.37.168.224:5985/wsman', auth=("administrator", "23423423***")) 12 # 杀掉进程 13 con.run_cmd("taskkill /f /pid 6748")
“:5985/wsman”每台服务器上应该都是固定相同的。
关于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"}
本文来自博客园,作者:drewgg,转载请注明原文链接:https://www.cnblogs.com/drewgg/p/13602169.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?