zoukankan      html  css  js  c++  java
  • Linux服务器远程连接window服务器并执行cmd命令

      前段时间,要给一个分布式调度系统写一个运维脚本,这个分布式调度系统部分子系统部署在window服务器上,这个时候就要想办法用Linux远程来连接window服务器,并执行cmd命令。下面是我的解决方法:

      1、在Linux服务器上的处理

        首先需要在Linux中安装python,并且安装pywinm库。安装之前首先需要安装isodate和xmlwitch两个依赖包,在安装pywinrm。下面是安装时用到的命令。

        安装依赖包

    pip install isodate
    pip install xmlwitch

        安装pywinrm

    pip install pywinrm

      2、在window服务器上的操作

        在window服务器上,要打开winrm服务。下面是操作流程:

        第一步:用管理员权限打开windows powershell

        

        第二步:首先查看winrm service的运行状态,默认情况是没有开启的;执行命令为空是没有启动。

    winrm enumerate winrm/config/listener

        第三步:对winrm service进行配置

    winrm quickconfig

        第四步:为winrm service 配置auth:

    winrm set winrm/config/service/auth @{Basic="true"}

        第五步:为winrm service 配置加密方式为允许非加密:

    winrm set winrm/config/service @{AllowUnencrypted="true"}

      3、下面是执行cmd命令的源码

    import winrm
    
    win = winrm.Session('http://192.168.0.19:5985/wsman',auth=('wt','635870838'))
    r = win.run_cmd('ipconfig')  #执行cmd命令
    print(r.std_out.decode()) # 打印获取到的信息
    print(r.std_err) #打印错误信息
  • 相关阅读:
    Centos7配置局域网yum源报错——Error downloading packages: failed to retrieve packages...
    Centos7扩展根分区——不增加磁盘
    Paxos算法
    记一次业务中的大坑-MYSQL有重复数据下的增加主键
    填坑之路——Hadoop分布式缓存
    Java接口技术
    Java-IO操作性能对比
    Clob对象转换为String
    剖析Reflection.getCallerClass
    Java类的加载、链接和初始化
  • 原文地址:https://www.cnblogs.com/leilei0327/p/9322629.html
Copyright © 2011-2022 走看看