python连接远程windows服务器

python选用pywinrm模块连接远程的windows服务器的记录:

1.安装pywinrm

pip install pywinrm

windows系统安装的时候出现问题的几率很大,最后我也不知道我怎么装上的(自求多福吧

2.配置服务器winrm服务

以管理员方式cmd

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"}

这时间可能会出错:

python连接远程windows服务器_第1张图片

这是因为网络连接属性“公用”导致的。只需要改一下

python连接远程windows服务器_第2张图片

python连接远程windows服务器_第3张图片

python连接远程windows服务器_第4张图片

python连接远程windows服务器_第5张图片

这就ok了。然后再去执行上面的命令

python连接远程windows服务器_第6张图片

最终这样就OK了。

3.连接远程服务器代码示例

import winrm


def winCMD(hostname, username, password, cmd):
    '''
    在 windows 下执行命令
    '''
    wintest = winrm.Session('http://' + hostname + ':5985/wsman', auth=(username, password))
    ret = wintest.run_cmd(cmd)
    print(ret.std_out.decode())
    print(ret.std_err)


winCMD(hostname='', username='', password='', cmd='dir')

4.上述代码cmd参数示例

上面的cmd参数就是我们平时在dos命令窗口执行的命令。

cmd = 'dir'  # 查看当前目录

cmd = 'cd D:\Go & type test.go'  # 切换到D:\Go并查看该路径下test.go文件内容 &符号连接两条命令

cmd = 'cd D:\Go & type "aaa bbb.txt"'  # 如果文件名包含空格,只需要将文件名用双引号包裹

 欢迎关注wx公众号:python web小栈,共同探讨学习

你可能感兴趣的:(python3,windows服务器)