WinRM(Windows Remote Management)windows远程管理,这个是基于[powershell](https://baike.baidu.com/item/Windows PowerShell ISE)的功能,一个形象的类比就是ssh之于linux。

winrm可以远程连接windows并执行cmd命令(使用python语言)

WinRM端口是5985和5986(HTTPS)

1、开启服务端winrm的服务

在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"}' #凭据安全支持提供程序协议 (CredSSP)可以开启加密凭据的传输

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

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

检验是否配置成功

winrm get winrm/config/service/auth

2、python代码

python环境中安装依赖包

pip install isodate
pip install xmlwitch

安装pywinrm

pip install pywinrm

使用session方法

 import winrmwin = winrm.Session('http://windowsip:5985/wsman',auth=('windows管理员账户','windows管理员密码'))r = win.run_cmd('history')  #执行cmd命令 这里cmd中没有history的命令print(str(r.std_out,encoding='gbk'))  # 打印获取到的信息print(str(r.std_err,encoding='gbk')) #打印错误信息import winrmwin = winrm.Session('http://windowsip:5985/wsman',auth=('windows管理员账户','windows管理员密码'))r = win.run_ps('history')  #执行powershell命令 可以执行一些cmd没有的命令,print(str(r.std_out,encoding='gbk'))  # 打印获取到的信息print(str(r.std_err,encoding='gbk')) #打印错误信息#因为cmd默认使用gbk编码,而python默认使用utf-8,所以要用gbk进行解码

使用Protocol方法

import winrm
conn = winrm.Protocol(endpoint='http://10.10.60.14:5985/wsman', transport='plaintext', username='administrator', password='password')shell_id=conn.open_shell()com=conn.run_command(shell_id,"dir") stdout, stderr, return_code = conn.get_command_output(shell_id, com) print "STDOUT: %s" % (stdout)
print "STDERR: %s" % (stderr)

Winrm+python远程连接windows执行命令相关推荐

  1. ssh远程执行服务器命令,ssh远程连接服务器执行命令

    问题 首先说一下使用ssh远程连接服务器执行命令的方法: 为了方便描述,这里把测试服务器称之为A1,目标服务器称之为A2 A1与A2之间首先要建立ssh免密登录,在A1上生成公钥和私钥 ssh-key ...

  2. python远程登录并执行命令_Python - 远程SSH执行命令

    前言 在自动化运维中经常需要通过ssh批量操作服务器,利用Python的paramiko模块就快速完成工作. 安装 pip install paramiko 使用SSHClient类 SSHClien ...

  3. 【python远程linux、执行命令、读取excel】

    import os import paramiko import time import xlrd import pandas as pdclass ServerSsh:def __int__(sel ...

  4. python远程linux服务器执行命令_基于使用paramiko执行远程linux主机命令(详解)

    paramiko是python的SSH库,可用来连接远程linux主机,然后执行linux命令或者通过SFTP传输文件. 关于使用paramiko执行远程主机命令可以找到很多参考资料了,本文在此基础上 ...

  5. java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 (第一种) java调用 (第二种 推荐) java调用Linux命令转pdf java远程连接Linux执行命令(少数情况) linux安装windo ...

  6. python如何连接自己电脑服务器_Python远程连接windows服务器并上传数据

    [芝麻IP代理]大数据时代下,我们对于Python的应用真的是淋漓尽致,第一次玩服务器,电脑端远程连接能连上,可SSH却始终不行,后来才发现,这根本不是一种东西,SSH得在服务器上搭建SSH seve ...

  7. Python远程连接服务器

    在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 对于直接使用 shell 命令,来执行命令的,可以直接使用管道,或者将标准输出重定向到文 ...

  8. 【Python】Python 远程连接服务器,用它就够了

    在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ...

  9. 使用 Powershell 远程连接 windows server

    使用 Powershell 远程连接 windows server Intro 最近我们的开发环境增加了一个 windows 服务器,没有界面的,不能直接远程桌面连上去管理,需要使用 Powershe ...

  10. Python 远程连接服务器,用它就够了

    在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ...

最新文章

  1. 7 个 jQuery 最佳实践
  2. 谁是 2021「IT 圈」年度 C 位?快来报名,彰显你的影响力!
  3. java之redis篇(spring-data-redis整合)
  4. 复杂的结构化存取(一)
  5. 初步学习pg_control文件之三
  6. Mybatis的解析模块基础
  7. 如何处理Marketing Cloud OData服务的错误消息
  8. jsp使用cookie实现记住用户名和密码
  9. 程序员如何跟领导提离职_员工辞职不交接工作被领导怒怼:我不批离职,跟你耗着,结果蒙了...
  10. echarts 柱状图不显示y坐标轴_Python+matplotlib自定义坐标轴位置、颜色、箭头
  11. vue-touch不能上下滑动的问题【解决】
  12. 大巴山计算机教育中心那所学校,大巴山计算机教育中心
  13. 分布式常见面试题详解
  14. spPaint3d插件maya安装和介绍教程
  15. IDEA和MySQL数据库建立连接
  16. 2021计算机三级数据库大题总结
  17. .so文件的基本理解,使用。
  18. Kattis Zamka
  19. layui表格宽度自适应
  20. 【每日一读】Large Scale Network Embedding: A Separable Approach

热门文章

  1. 两平面间8参数变换参数求解简单原理解析(已更新间接平差算法)
  2. 中国天气网 城市代号
  3. cell数组变为字符串_cell转字符串 - osc_n3166lwj的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 用python来开发webgame服务端(2)
  5. webgame开发入门
  6. 什么是 Uptime TIER 数据中心等级认证体系?-孙长青
  7. Intro.js 简介和用法
  8. PC端用Itunes备份Iphone时修改备份路径的办法
  9. 剪辑师:入门级无水印无片头片尾免费视频剪辑工具
  10. EXCEL密码清除——巧用RAR