Python winrm模块连接windows

python winrm 连接windows

linux服务器连接windows服务器,使用winrm模块

一、配置windows 下的winrm

1.运行如下,如果没有返回,则没有开启winrm
PS C:\Users\Administrator> winrm enumerate winrm/config/listener
2.配置winrm基础配置
PS C:\Users\Administrator> 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:\Users\Administrator> 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:\Users\Administrator> 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:\Users\Administrator> 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 = 60000
    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://139.196.110.110: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

2019/05/28  10:10    <DIR>          .
2019/05/28  10:10    <DIR>          ..
2019/05/25  10:10   <DIR>          Administrator
2009/05/14  12:57    <DIR>          Public
2019/05/28  07:10    <DIR>          seedeer
               0 File(s)              0 bytes
               5 Dir(s)  252,649,209,856 bytes free
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容