python winrm 连接windows
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python winrm 连接windows相关的知识,希望对你有一定的参考价值。
最近遇到项目需要使用windows 服务器,之前分开部署,先需求linux连接windows,使用winrm即可
一、配置windows winrm
1.运行如下,如果没有返回,则没有开启winrm
PS C:UsersAdministrator> winrm enumerate winrm/config/listener
2.配置winrm基础配置
PS C:UsersAdministrator> winrm quickconfig 已在此计算机上运行 WinRM 服务。 WinRM 没有设置成为了管理此计算机而允许对其进行远程访问。 必须进行以下更改: 在 HTTP://* 上创建 WinRM 侦听程序接受 WS-Man 对此机器上任意 IP 的请求。 配置 LocalAccountTokenFilterPolicy 以远程向本地用户授予管理权限。 执行这些更改吗[y/n]? y WinRM 已经进行了更新,以用于远程管理。 在 HTTP://* 上创建 WinRM 侦听程序接受 WS-Man 对此机器上任意 IP 的请求。 已配置 LocalAccountTokenFilterPolicy 以远程向本地用户授予管理权限。
3. 查看windows的winrm service listener
PS C:UsersAdministrator> winrm e winrm/config/listener Listener Address = * Transport = HTTP Port = 5985 Hostname Enabled = true URLPrefix = wsman CertificateThumbprint ListeningOn = 127.0.0.1, 172.18.232.248, ::1, fe80::5efe:172.18.232.248%12, fe80::4963:ce66:e004:e54%17
4.配置winrm auth
PS C:UsersAdministrator> winrm set winrm/config/service/auth '@{Basic="true"}' Auth Basic = true Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed
5.配置winrm service 加密方式为允许非加密
PS C:UsersAdministrator> winrm set winrm/config/service '@{AllowUnencrypted="true"}' Service RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) MaxConcurrentOperations = 4294967295 MaxConcurrentOperationsPerUser = 1500 EnumerationTimeoutms = 240000 MaxConnections = 300 MaxPacketRetrievalTimeSeconds = 120 AllowUnencrypted = true Auth Basic = true Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed DefaultPorts HTTP = 5985 HTTPS = 5986 IPv4Filter = * IPv6Filter = * EnableCompatibilityHttpListener = false EnableCompatibilityHttpsListener = false CertificateThumbprint AllowRemoteAccess = true
二、在linux连接
1.python 脚
#!/usr/bin/python import winrm win2008 = winrm.Session('http://11.22.33.44:5985/wsman',auth=('administrator','xxxx')) r = win2008.run_cmd('cd .. & dir') print r.std_out.decode() print r.std_err
2.运行
# python winP.py Volume in drive C has no label. Volume Serial Number is 50E1-E273 Directory of C:Users 2018/07/10 10:10 <DIR> . 2018/07/10 10:10 <DIR> .. 2018/07/06 08:57 <DIR> Administrator 2009/07/14 12:57 <DIR> Public 2018/07/11 18:21 <DIR> seedeer 0 File(s) 0 bytes 5 Dir(s) 252,649,209,856 bytes free
以上是关于python winrm 连接windows的主要内容,如果未能解决你的问题,请参考以下文章
python实现文件解压,遍历及使用winrm模块上传到Windows主机
带有 winrm 的 Ansible 只能以 root 身份工作?
windows主机开启winrm端口powershell脚本