基于winrm实现远程操作win

基于winrm实现远程操作win

一、winrm什么是?

winrm的全称为windows remote management server,即windows远程管理服务。winrm服务是powershell的远程管理服务,说白了就是在机器A上连接机器B的powershell,并通过powershell编程控制机器B。

支持powershell4.0+ 版本

二、python编写脚本

1、配置防火墙出站入站规则,放行5985 端口

2、进入powershell, 配置(以管理员的身份)

#查看配置信息,有东西返回证明是winrm是开启的的 (若报错则用以下命令进行配置)
winrm enumerate winrm/config/listener

#对winrm service 进行基础配置
winrm quickconfig

#再次查看是否开启winrm
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"}'

3、python实现远程操作win,执行cmd命令

3.1 pip下载winrm

​ pip install winrm

3.2 编写代码
import winrm

ip = '192.168.3.176'  # 远程机器ip
userName = 'Administrator'  # 用户名
password = 'Admin123'  # 密码
wintest = winrm.Session('http://'+ip+':5985/wsman',auth=(userName,password))
ret = wintest.run_cmd("ipconfig")
print(ret)
print(ret.std_out.decode('gbk'))                #因为cmd默认使用gbk编码,而python默认使用utf-8,所以要用gbk进行解码
print(ret.std_err)
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值