zoukankan      html  css  js  c++  java
  • linux--远程连接windows并执行cmd命令

    1、在Linux服务器上的处理

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

    pip install isodate
    pip install xmlwitch
    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 set winrm/config/service/auth '@{CredSSP="true"}'

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

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

        检验是否配置成功

    winrm get winrm/config/service/auth

    下面就是在linux可以远程操作Windows的python代码

    import winrm
    
    win = winrm.Session('http://windowsip:5985/wsman',auth=('windows管理员账户','windows管理员密码'))
    r = win.run_cmd('history')  #执行cmd命令
    print(str(r.std_out,encoding='gbk'))  # 打印获取到的信息
    print(str(r.std_err,encoding='gbk')) #打印错误信息

    下面python2的代码,略微一点不一样

    # -*- coding:utf-8 -*-
    import winrm
    
    win = winrm.Session('http://Windowsip:5985/wsman', auth=('windows管理员账户', 'windows管理员密码'))  # 连接windows
    r = win.run_cmd('ipconfig')  # 执行cmd命令
    print(r.std_out)  # 打印获取到的信息
    print(r.std_err) # 打印错误信息
  • 相关阅读:
    uva 11404 Palindromic Subsequence(LCS回文串,最小字典序)
    paip.输入法编程---输入法ATIaN历史记录 v8b
    uva 10859 Placing Lampposts (树形dp)
    【设计模式】学习笔记8:命令模式
    Android自定义ProgressDialog
    (二十四)解释器模式详解
    Hadoop--两个简单的MapReduce程序
    BMP图像的灰度化---C++实现
    android 数组数据绑定到listview
    Win64 驱动内核编程-10.突破WIN7的PatchGuard
  • 原文地址:https://www.cnblogs.com/lutt/p/13579753.html
Copyright © 2011-2022 走看看