WinRM(Windows远程管理)介绍,Python远程操作Windows
WinRM(Windows Remote Management)是Windows对WS-Management的实现,WinRM允许远程用户使用工具和脚本对Windows服务器进行管理并获取数据。Server2008 R2中默认开启该服务,从Server2012开始,该服务便集成在系统中默认开启,Win7默认安装此服务,但是默认为禁用状态,Win8,Win10默认开启。这种远程连接不会被客户端察觉到,也不会占用远程连接数。
1. winrm命令介绍,须以系统管理员身份执行
//快速在服务端运行winrm
c:\> winrm quickconfig
//查看winrm的运行情况
c:\> winrm e winrm/config/listener
//查看winrm的配置
c:\> winrm get winrm/config
// 将service中的allowUnencrypted设置为true,允许未加密的通讯
c:\> winrm set winrm/config/service @{AllowUnencrypted="true"}
//将client中的基本身份验证设置为true,允许
c:\> winrm set winrm/config/client/auth @{Basic="true"}
// 将client中的allowUnencrypted设置为true,允许未加密的通讯
c:\> winrm set winrm/config/client @{AllowUnencrypted="true"}
// 设置主机信任的客户端地址,这里host1,2,3可以填你所在的客户端机器的ip或者主机名
c:\> winrm set winrm/config/client @{TrustedHosts="host1, host2, host3"}
2.pywinrm简单使用,使用命令 pip install pywinrm
安装pywinrm
方法一:
# -*- coding:utf8 -*-
import winrm
ip = ''
username = ''
password = ''
shell = 'ipconfig /all'
s = winrm.Session(ip, auth=(username, password), transport='ntlm') # 远程连接windows
r = s.run_ps(shell) # 执行脚本
print(r.status_code)
print(str(r.std_out, 'big5'))
方法二:
# -*- coding: utf8 -*-
from winrm.protocol import Protocol
p = Protocol(
endpoint='http://ip:5985/wsman', # http 5985 https 5986
transport='ntlm',
username='',
password='',
server_cert_validation='ignore')
shell_id = p.open_shell() # 打开shell
command_id = p.run_command(shell_id, 'ipconfig', ['/all']) # 执行命令
std_out, std_err, status_code = p.get_command_output(shell_id, command_id) # 获取返回结果
print(str(std_out, 'big5'))
p.cleanup_command(shell_id, command_id)
p.close_shell(shell_id) # 关闭shell
今天的文章winrm远程命令执行_python远程windows执行命令分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81683.html