在我之前的一篇博文《python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果》中,使用paramiko模块实现了远程连接Linux服务器,并执行内存占用情况查询操作的命令,但是在很多时候由于用户自身的限制,我们所要操作的不全都是Linux环境的服务器,还有很多Windows类型的服务器,虽然我觉得很奇葩,但是既然有这个需求就要去实现才行的。
pip install pywinrm
这里进行了简单的实践,远程连接Windows服务器后查询D盘下的目录信息,在这里执行操作之前需要在待连接服务器中做以下配置:
''' 注意:需要在被控机上开启以下服务: 针对winrm service 进行基础配置: winrm quickconfig 查看winrm service listener: winrm e winrm/config/listener 为winrm service 配置auth: winrm set winrm/config/service/auth @{Basic="true"} 为winrm service 配置加密方式为允许非加密: winrm set winrm/config/service @{AllowUnencrypted="true"} '''
def winCMD(hostname='hostname',username='username',password='password',cmd='cmd'): ''' 在 windows 下执行命令 ''' wintest = winrm.Session('http://'+hostname+':5985/wsman',auth=(username,password)) ret = wintest.run_cmd(cmd) print ret print ret.std_out.decode() print ret.std_err
这里就不贴出来结果了。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205686.html原文链接:https://javaforall.net
