Python学习之九_winrm执行远程机器的cmd命令


winrm

# 注意如下命令需要按照顺序执行.
# 打开powershell的管理员模式进行如下的操作.
set-executionpolicy remotesigned
winrm quickconfig
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'

Python的使用方式为

import winrm
def win_cmd(cmd: str):
"""远程调用 windows 执行命令"""
hostname = '10.110.xxx.xxx'
username = 'administrator'
password = 'xxxx'
wintest = winrm.Session('http://' + hostname + ':5985/wsman', auth=(username, password))
res = wintest.run_cmd(cmd)
return str(res.std_out.decode()) zhaobsh = win_cmd('ipconfig')
print(zhaobsh)

对应的调用python的程序就简单了-被调用方

在Windows机器上面安装一下python
然后安装一下 psutil获取内存信息
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
python.exe -m pip install --upgrade pip
pip install psutil 编写简单脚本为:
import psutil
def getfree() :
free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))+'GB'
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))+'GB'
memory_use_percent = str(psutil.virtual_memory().percent)+' %'
return free free = getfree()
print (str(free)) 将文件放到 c:\winenv.py中去

远程调用方


import winrm
def win_cmd(cmd: str):
"""远程调用 windows 执行命令"""
hostname = '10.110.xxx.xxx'
username = 'administrator'
password = 'xxxxx'
wintest = winrm.Session('http://' + hostname + ':5985/wsman', auth=(username, password))
res = wintest.run_cmd(cmd)
return str(res.std_out.decode()) zhaobsh = win_cmd('python c:/winenv.py')
print(zhaobsh)

验证执行结果

C:\Users\zhaobsh\AppData\Local\Programs\Python\Python39\python.exe F:\00GSCloud2211\updatecompare\win_winrmpy.py
12.67GB cmd 命令的结果为:
C:\Users\zhaobsh\AppData\Local\Programs\Python\Python39\python.exe F:\00GSCloud2211\updatecompare\win_winrm.py Windows IP Configuration Ethernet adapter Ethernet0 2: Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::6c47:603c:580d:8f%13

Python学习之九_winrm执行远程机器的cmd命令的更多相关文章

  1. ssh远程执行目标机器上的命令

    一句话: ssh -t -p 端口号 用户名@远程机器IP '远程机器上的命令完整路径' 例如: ssh -t -p 22 yangjunming@dev '/opt/app/deploy.sh' 注 ...

  2. Js使用WScript.Shell对象执行.bat文件和cmd命令

    Js使用WScript.Shell对象执行.bat文件和cmd命令 http://www.jb51.net/article/58669.htm WScript.Shell(Windows Script ...

  3. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  4. 【Python学习之九】模块

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.模块的使用和安装模块和C语言中的头文件以及Ja ...

  5. Python中使用os模块执行远程命令

    1. 使用os模块远程执行命令 服务端代码 1 import socket 2 import os 3 4 sh_server = socket.socket() #创建一个socket对象 5 sh ...

  6. python学习(九)python中的变量、引用和对象的关系

    <Think In Java>中说到过"万事万物皆对象",这句话也可以用在Python中. 感觉Python中的变量有点像Javascript中的变量,是弱类型的,但是 ...

  7. linux shell执行远程计算机上的命令或者脚本(ssh)

    大数据平台下经常建立设计多个节点的集群需要统一部署,这就设计到守护进程或者部署脚本在不同节点执行,如果能在master机器上,统一执行脚本,一次性启动整个集群的服务,感觉很nice.因为,分享如下内容 ...

  8. python学习记录_IPython基础,Tab自动完成,内省,%run命令_

        这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...

  9. Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

    WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...

  10. 【转】Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

    WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...

随机推荐

  1. C++通过文件指针获取文件大小

    目录 1. 叙述 2. 结论 1. 叙述 对于读取本地文件,很多时候需要预先知道本地文件的大小在进行读取.网上给出的方案是移动文件指针,计算文件头和文件尾的偏移,计算出文件的大小.但是我总觉得这样做可 ...

  2. antd5中文设定

    antd5中文设定 import zhCN from "antd/lib/locale/zh_CN" <ConfigProvider locale={zhCN} theme= ...

  3. 移动应用中的第三方SDK隐私合规检测,早知道

    摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务. 本文分享自华为云社区<移动应用中的第三方SDK隐私合规检测>,作者 ...

  4. 教你从零搭建Web漏洞靶场OWASP Benchmark

    摘要:Owasp benchmark 旨在评估安全测试工具的能力(准确率.覆盖度.扫描速度等等),量化安全测试工具的扫描能力,从而更好得比较各个安全工具优缺点. 本文分享自华为云社区<Web漏洞 ...

  5. storybook插件说明: integrations与addons推荐

    官方的: https://storybook.js.org/integrations/ https://github.com/storybookjs/storybook/blob/master/ADD ...

  6. vue2升级vue3:vue3 hooks库选用

    之前a-hooks:https://ahooks.js.org/,比react-use 精简好用.但是没有vue版本的. 网上有个人实现的:https://github.com/dewfall123/ ...

  7. web自动化测试(1):再谈UI发展史与UI、功能自动化测试

    前言(废话) 行文前,安利下文章:<图形界面操作系统发展史--计算机界面发展历史回顾>.<再谈MV*(MVVM MVP MVC)模式的设计原理-封装与解耦> 1973年4月,X ...

  8. 火山引擎 DataLeap 助你拥有 Notebook 交互式的开发体验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   Notebook 是一种支持 REPL 模式的开发环境.所谓「REPL」,即「读取-求值-输出」循环:输入一段 ...

  9. 不知如何优选达人?火山引擎 VeDI 零售行业解决方案一键解决!

      技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "人-货匹配"这句营销老话,在直播电商兴起的这几年,似乎不再专指消费者与商品之间的关系. 过去 ...

  10. HanLP 学习

    学习 HanLP 需要了解, 双数组Trie树 (Double-array Trie) Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机 T ...