一、介绍
winRM服务是windows server下PowerShell的远程管理服务。Python脚本通过连接winRM模块操作windows命令行。
二、使用方法
-
被控制windows server上winRM服务操作
- 查看winRM服务状态,默认都是未启动状态
> winrm e winrm/config/listener
- winRM服务启动
> winrm quickconfig
- 为winrm service 配置auth
> winrm set winrm/config/service/auth "@{Basic="true"}"
- 为winrm service 配置加密方式为允许非加密
> winrm set winrm/config/service "@{AllowUnencrypted="true"}"
- 查看winRM服务状态,默认都是未启动状态
-
Python命令
import winrm win2012 = winrm.Session('http://HOST_IP:5985/wsman', auth=('USER_NAME', 'USER_PWD')) r = codecs.win2012.run_cmd('dir', encoding='utf-8') print(r.std_out.decode())
-
关于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"}