Python学习之九_winrm执行远程机器的cmd命令
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命令的更多相关文章
- ssh远程执行目标机器上的命令
一句话: ssh -t -p 端口号 用户名@远程机器IP '远程机器上的命令完整路径' 例如: ssh -t -p 22 yangjunming@dev '/opt/app/deploy.sh' 注 ...
- Js使用WScript.Shell对象执行.bat文件和cmd命令
Js使用WScript.Shell对象执行.bat文件和cmd命令 http://www.jb51.net/article/58669.htm WScript.Shell(Windows Script ...
- Python学习笔记九
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...
- 【Python学习之九】模块
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.模块的使用和安装模块和C语言中的头文件以及Ja ...
- Python中使用os模块执行远程命令
1. 使用os模块远程执行命令 服务端代码 1 import socket 2 import os 3 4 sh_server = socket.socket() #创建一个socket对象 5 sh ...
- python学习(九)python中的变量、引用和对象的关系
<Think In Java>中说到过"万事万物皆对象",这句话也可以用在Python中. 感觉Python中的变量有点像Javascript中的变量,是弱类型的,但是 ...
- linux shell执行远程计算机上的命令或者脚本(ssh)
大数据平台下经常建立设计多个节点的集群需要统一部署,这就设计到守护进程或者部署脚本在不同节点执行,如果能在master机器上,统一执行脚本,一次性启动整个集群的服务,感觉很nice.因为,分享如下内容 ...
- python学习记录_IPython基础,Tab自动完成,内省,%run命令_
这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...
- Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...
- 【转】Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...
随机推荐
- vscode 启动go
{ "version": "0.2.0", "configurations": [ { "name": "La ...
- 实践解读丨Python 面向对象三大特征之多态
摘要:多态从字面意思上看就是多种形态,在我们python的面向对象里就是不同的对象在接收相同方法或者函数时会产生不同的行为,也就是说,每个对象可以用自己的方式去响应共同的函数,不同的方式实现不同的结果 ...
- 【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频
摘要:假期结束后回来上班,走进电梯都有一种特别的感觉,电梯那个植发广告里的大哥看我的眼神好像和之前不太一样- 上回说到,老板奖励7天带薪假,我就回家玩耍了几天,顺便还帮兄弟发不脱当了一回"A ...
- 一文读懂GaussDB(openGauss) 的六大关键技术特性
摘要:更为深入地介绍了GaussDB(openGauss)的关键特性.成功案例. GaussDB(openGauss)是深度融合华为在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式 ...
- GaussDB(DWS)云原生数仓技术解析
摘要:本文主要介绍GaussDB(DWS)云原生数仓架构.产品能力,帮助开发者快速了解GaussDB(DWS)云原生数仓相关信息与能力. 本文分享自华为云社区<直播回顾 | GaussDB(DW ...
- 华为云PB级数据库GaussDB(for Redis)介绍第四期:高斯 Geo的介绍与应用
摘要:高斯Redis的大规模地理位置信息存储的解决方案. 1.背景 LBS(Location Based Service,基于位置的服务)有非常广泛的应用场景,最常见的应用就是POI(Point of ...
- 华为云GaussDB:发挥生态优势,培养应用型DBA
摘要:GaussDB首要的任务是解决华为的业务连续性的需求,同时也是要确保使用GaussDB的客户的业务能够连续,所以我们坚持战略投入,坚持从每一行代码,坚持从生态开始来构建整个数据库体系. 本文分享 ...
- Hugging Face 入选 Time《时代周刊》2023 全球前 100 最具影响力的公司
喜报 Hugging Face 入选 Time<时代周刊>2023 全球前 100 最具影响力的公司 继续为梦想努力 继续为开源贡献 榜单链接: https://time.com/100c ...
- 你真的了解token续期嘛?
Spring Boot + Vue中的Token续签机制 在现代的全栈应用开发中,Spring Boot作为后端框架和Vue.js作为前端框架的组合非常流行.在这种架构中实现Token续签是保障应用安 ...
- Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
背景: 在kafka集群上使用topic相关的命令时,报错: Exception in thread "main" joptsimple.UnrecognizedOptionExc ...