python3通过winrm远程执行windows服务器dos命令

news2024/11/19 17:41:04

Background

  • 在实际项目中,一般使用Linux作为生产服务器,但有时就会出现一些特殊情况,你只能使用windows作为作为服务器,比如说一个用fortran编写的仿真程序,编译环境用的intel的oneAPI,按理说这个编译器是是支持windows、linux和mac平台的,但是不同平台的编译命令还不一样,无法找到相应的编译参数,没办法,只能使用windows作为服务器了。
  • python3中远程控制库中,像远程控制linux服务器的paramiko,同样也有远程控制windows服务器的pywinrm,可以远程执行 cmd、powerSehll命令。不过,需要在被控端 windows 开启 winrm 服务
  • pywinrm官方文档

1、在被控端 windows 开启 winrm 服务

  • 以管理员启动cmd
    在这里插入图片描述

  • 启动 winrm 服务

如果遇到网络设置问题如下图1,可以win+i,然后按照下图2进行操作设置。

winrm quickconfig -q

在这里插入图片描述
在这里插入图片描述

  • 查看winrm服务的状态
winrm e winrm/config/listener
# 或者
winrm enumerate winrm/config/listener

在这里插入图片描述

  • 为winrm service 配置auth
winrm set winrm/config/service/auth '@{Basic="true"}'

在这里插入图片描述

  • 为winrm service 配置加密方式为允许非加密(若防火墙没开的话这条可不用执行)
winrm set winrm/config/service '@{AllowUnencrypted="true"}'

在这里插入图片描述

2、在控制端需要安装pywinrm库

pip3 install pywinrm

3、通过 pywinrm 远程执行 cmd、powerSehll命令

import winrm


def win_cmd(cmd: str):
    """远程调用 windows 执行命令"""
    hostname = '110.110.110.110'
    username = 'user1'
    password = '123456'
    wintest = winrm.Session('http://' + hostname + ':5985/wsman', auth=(username, password))
    res = wintest.run_cmd(cmd)
    if res.status_code == 0:
        res = res.std_out.decode().replace('\n', '').replace('\r', '')
        return {'sta': 200, 'res': res}
    else:
        return {'sta': 201, 'res': res.std_err}
    

def main():
    """主函数"""
    cmd = 'python3 -V'
    print(win_cmd(cmd))


if __name__ == '__main__':
    main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++ 课程设计 | 银行管理系统

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

DP83TG720SWRHARQ1 IC TRANSCEIVER 接口芯片、TCAN1051VDRBTQ1

1、TCAN1051VDRBTQ1 具有 CAN FD 和故障保护功能的汽车类 CAN 收发器。 详细参数 类型:收发器 协议:CANbus 驱动器/接收器数:1/1 双工:半 接收器滞后:120 mV 数据速率:2Mbps 电压 - 供电:4.5V ~…

黄菊华老师,Java Servlet毕业设计毕设辅导课(5):Servlet配置虚拟路径映射

Servlet配置虚拟路径映射 在 web.xml 文件中&#xff0c;一个 <servlert-mapping> 元素用于映射一个 Servlet 的对外访问路径&#xff0c;该路径也称为虚拟路径。例如&#xff0c;在《第一个Servlet程序》教程中&#xff0c;hello 所映射的虚拟路径为“/hi”。 创建好的…

数据结构—平衡二叉树

文章目录查询数据的时间复杂度平衡二叉树旋转策略1、LL型旋转&#xff1a;2、RR型旋转&#xff1a;3、LR型旋转&#xff1a;4、RL型旋转&#xff1a;补充&#xff1a;————————————————————————————————查询数据的时间复杂度 首先&#xff0c;…

MySQL学习笔记(十二)锁

1.锁的类型 InnoDB实现了如下两种标准的行级锁&#xff1a; 共享锁&#xff08;S Lock&#xff09;&#xff1a;允许事务对一条行数据进行读取 排他锁&#xff08;X Lock&#xff09;&#xff1a;允许事务对一条行数据进行删除或更新 如果一个事务T1已经获得了行r的共享锁&…

委派设计模式

一、委派模式 1、定义 委派模式&#xff08;Delegate Pattern&#xff09;又称作委托模式&#xff0c;是一种面相对性的设计模式&#xff0c;允许对象组合实现与继承相同的代码重用&#xff0c;属于行为型设计模式&#xff0c;不属于GoF的23种设计模式。 委派模式的基本作用是…

Unity与IOS⭐一、百度语音IOS版Demo调试方法

文章目录 🟥 SDK下载与配置官网包名1️⃣ SDK下载地址2️⃣ 配置官网的包名3️⃣ 百度语音IOS版教程地址🟧 配置SDK Demo1️⃣ 配置License2️⃣ 配置唤醒词文件3️⃣ 打包🟨 Demo测试🟥 SDK下载与配置官网包名 1️⃣ SDK下载地址 SDK下载地址:https://ai.baidu.com…

JAVA中如何精确取到时间间隔

文章目录0 写在前面1 使用方法2 举例3 写在最后0 写在前面 做业务的时候&#xff0c;总要统计数据&#xff0c;几月份到几月份的全部数据。这个时候就要找到起始月份的具体时间和终止月份的具体时间。 此时我们用原始的Date类去处理就比较麻烦&#xff0c;可以自己写一个工具类…

jsp网络申报审批系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 网络申报审批系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;使用…

[矩阵论] Unit 1. 线性空间与线性变换 - 知识点整理

注: 以下内容均由个人整理, 不保证完全准确, 如有纰漏, 欢迎交流讨论参考: 杨明, 刘先忠. 矩阵论(第二版)[M]. 武汉: 华中科技大学出版社, 2005 1 线性空间与线性变换 1.1 线性空间 线性空间 Def 1.1: 设 VVV 是一个非空集合(V≠∅V\neq \varnothingV​∅)&#xff0c;FF…

Unity与IOS⭐最基础的交互演示

文章目录 🟥 本章的交互效果🟧 创建IOS代码1️⃣ 创建代码文件2️⃣ 代码文件🚩 Interaction.h🚩 Interaction.m🟨 测试试试吧🟥 本章的交互效果 本章演示unity调用IOS代码,IOS并返回值。 🟧 创建IOS代码 我们的Unity代码一个脚本就好了,而IOS代码需要两个脚…

【AI】Python 实现 KNN 手写数字识别

KNN 算法 1. 题目介绍 K近邻&#xff08;K-Nearest Neighbor, KNN&#xff09;是一种最经典和最简单的有监督学习方法之一。K-近邻算法是最简单的分类器&#xff0c;没有显式的学习过程或训练过程&#xff0c;是懒惰学习&#xff08;Lazy Learning&#xff09;。当对数据的分…

如何搭建一个自己的音乐服务器 审核中

点赞再看&#xff0c;动力无限。 微信搜「 程序猿阿朗 」。 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录&#xff0c;有很多知识点和系列文章。 最近发现&#xff0c;经常用的网易云音乐&#xff0c;有很多歌曲下架了&#xff0c;能听的越来越少了&#xff1b;…

设计模式之中介者模式(十五)

目录 1. 背景 1.1 智能家庭管理项目 1.2 中介者模式概述 2. 中介者模式 2.1 中介者模式解决上述问题 1. 背景 1.1 智能家庭管理项目 智能家庭项目&#xff1a; 智能家庭包括各种设备&#xff0c;闹钟、咖啡机、电视机、窗帘 等。主人要看电视时&#xff0c;各个设备可以协…

7 支持向量机

支持向量机 支持向量机(SVM)是在统计学习理论基础上发展起来的一种数据挖掘方法&#xff0c;1992 年由Boser, Guyon和Vapnik提出&#xff0c;在解决小样本、非线性、高维的回归和分类问题上&#xff0c; 有许多优势。 1 支持向量分类概述 支持向量分类以训练样本集为数据对象…

支持向量机核技巧:10个常用的核函数总结

支持向量机是一种监督学习技术&#xff0c;主要用于分类&#xff0c;也可用于回归。它的关键概念是算法搜索最佳的可用于基于标记数据(训练数据)对新数据点进行分类的超平面。 一般情况下算法试图学习一个类的最常见特征(区分一个类与另一个类的特征)&#xff0c;分类是基于学…

[附源码]JAVA毕业设计律师事务所网站(系统+LW)

[附源码]JAVA毕业设计律师事务所网站&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&a…

ubuntu20.04安装anaconda3搭建python环境

1.清华源下载anaconda3 清华源anaconda软件镜像网站&#xff1a; Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载完成在终端打开Downloads 运行 bash Anaconda3-5.3.1-Linux-x86_64.sh 进入到下载页面 紧接着你可以使用conda --…

HTTP抓包神器---Fiddler

今天我们介绍一个好用的抓包工具.是针对于HTTP协议的抓包工具. Fiddler 下载地址 下载工具当然是要去官网下载啦. 这里为了防止有些人在网上找不到下载路径.我们直接把下载路径放在下面. https://www.telerik.com/download/fiddler 下载 点击上述链接以后会直接跳转到下…

蓝海创意云·11月大事记 || 12月,暖心相伴

秋尽冬生&#xff0c;日短天寒 告别了立冬与小雪 时光不紧不慢开启了新一月的篇章 万物冬藏&#xff0c;沉淀酝酿 站在十二月的路口 蛰伏打磨&#xff0c;静待厚积而薄发 导 读 ● 客户端更新&#xff1a;新增PSD通道合成选项 ● 渲染案例&#xff1a;绝代双骄重启江湖…