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. ...
随机推荐
- nacos-config配置中心
依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-clou ...
- Windows下编译64位CGAL
目录 1. 准备 2. CMake构建 1. 准备 CGAL的官网准备了压缩包和安装程序两种类型的的源代码,推荐使用安装程序包,因为其中自带了编译好的gmp和mpfr库.gmp和mpfr是CGAL的依 ...
- C# 将XML转为Word(附VB.NET代码)
本文介绍如何通过C#程序代码方法将XML文件转换为Word文档,包括转为.doc /.docx等格式.并附VB.NET代码,有需要可供参考. 程序中所需必要程序集如下图: ★ 程序集获取:官方地址: ...
- 华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流
本文分享自华为云社区<华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流(体验用户招募中)>,作者:华为云PaaS服务小智. 打破传统开发模式,API编排应运而生 ...
- 8种ETL算法汇总大全!看完你就全明白了
摘要:ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中 ...
- Linux设置SSH连接时间,解决断开速度快,不停输密码问题: connection reset by
ssh 登录,没有设置ssh key 登录的情况下(临时登录),断开速度太快.如何解决? 修改:/etc/ssh/ssh_config 文件 #设置连接保持的时间ClientAliveInterval ...
- iOS distribution发布证书过期或者被手动revoke了app会被下架吗?
在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件 编辑 虽然distribution过期(或者被手动revoke)了,如果你的开发者账号是co ...
- PPT 动画-旋转唱片
插入图片.同心圆 按Shift 先点击背景图片,再点击 同心圆 合并形状,选择相交 设置动画,选择 陀螺旋,持续时间为 8秒, 打开计时窗口,重复为:直到幻灯片末尾
- SecureCRT 取消右击粘贴功能
SecureCRT 默认是选择复制.右击粘贴 但右击粘贴这个功能实在是太方便了,有时候会造成不必要的麻烦.所以一般情况下我是取消这个应用的 设置如下图所示,把勾取消就OK了
- Mybatis 模块拆份带来的 Mapper 扫描问题
项目中,两个模块中都放了 Mapper,如下所示 @MapperScan(basePackages ={"com.vipsoft.his.mapper","com.vip ...