winRM服务是windows 下PowerShell的远程管理服务,。Python通过注册使用winRM模块操作windows命令行
在需要远程管理的windows server服务器上操作查看:
- 查看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当前配置
> winrm g winrm/config
- 提高winRM性能(通过增大分配的最大封包大小和超时设置)
> winrm set winrm/config @{MaxEnvelopeSizekb="150"}
> winrm set winrm/config @{MaxTimeoutms ="60000"}
- TrustedHosts 是一个数组,用于指定可信的远程计算机的列表;同一工作组中的其他计算机或不同域中的计算机均应添加到此列表中;执行以下命令可将所有计算机都纳入TrustedHosts
> winrm s winrm/config/Client @{TrustedHosts="*"}
- 将客户端计算机设置为使用基本身份验证
> winrm s winrm/config/Client/Auth @{Basic="true"}
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())