如果你的服务器是windows系统,不想一台一台mstsc远程到桌面上去操作,python是有模块可以远程处理的:winrm

pip install pywinrm 安装模块即可

windows系统服务器需要开启 winrm 服务

具体开启方法:

cmd命令行输入:

# 开启服务
1.winrm quickconfig
会有两次确认 # 查看监听端口等信息
2.winrm e winrm/config/listener # 授权
3.winrm set winrm/config/service/auth @{Basic="true"} # 不加密模式
4.winrm set winrm/config/service @{AllowUnencrypted="true"}

上面的cmd命令可以写成一个.bat文件,在服务器上直接执行即可:

bat命令:

echo y| winrm quickconfig
echo y| winrm quickconfig
winrm e winrm/config/listener
winrm set winrm/config/service/auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}

因为有两次手动确认的过程,写了两个echo y|解决。

以上准备工作做好就可以在python里操作了

举个例子:

 1 # -*- coding = utf-8 -*-
2 # ------------------------------
3 # @time: 2020/9/1 17:54
4 # @Author: drew_gg
5 # @File: mstsc_windows.py
6 # @Software: api_locust
7 # ------------------------------
8
9 import winrm
10
11 con = winrm.Session('http://49.37.168.224:5985/wsman', auth=("administrator", "23423423***"))
12 # 杀掉进程
13 con.run_cmd("taskkill /f /pid 6748")
“:5985/wsman”每台服务器上应该都是固定相同的。

关于winrm再扩展一些知识:

执行以下命令能够以每组多达50个实例的速度获取实例

winrm set winrm/config @{MaxBatchItems="50"}

通过增大分配的最大封包大小和超时设置,提高性能

winrm set winrm/config @{MaxEnvelopeSizekb="150"}

winrm set winrm/config @{MaxTimeoutms ="60000"}

获取当前winRM配置

winrm g winrm/config

TrustedHosts 是一个数组,用于指定可信的远程计算机的列表;同一工作组中的其他计算机或不同域中的计算机均应添加到此列表中;执行以下命令可将所有计算机都纳入TrustedHosts

winrm s winrm/config/Client @{TrustedHosts="*"}

将客户端计算机设置为使用基本身份验证

winrm s winrm/config/Client/Auth @{Basic="true"}

python 远程windows系统执行cmd命令的更多相关文章

  1. Java执行cmd命令、bat脚本、linux命令,shell脚本等

    1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...

  2. 在windows下使用cmd命令行对java文件进行编译和执行

    windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量 相关配置链接:java基础学习总结—— ...

  3. Windows下的cmd命令行中设置环境编码

    我们都知道,Windows下的cmd命令行默认编码是Windows系统的编码,就是ANSI编码或者说是GBK编码的,这样我们编写的很多应用比如php编写utf-8编码的应用在命令行下面运行时都会出现乱 ...

  4. 如何使用Java执行cmd命令

    用JAVA代码实现执行CMD命令的方法! Runtime rt = Runtime.getRuntime(); Process p = rt.exec(String[] cmdarray);     ...

  5. Atitit.执行cmd 命令行 php

    Atitit.执行cmd 命令行 php 1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编码设置 1 1 ...

  6. 在Windows系统下用命令把应用程序添加到系统服务

    在Windows系统下用命令把应用程序添加到系统服务,使用SC命令. 加入服务格式如下:sc create ServiceName binPath= 程序路径 start= auto(等号后面的空格是 ...

  7. 如何在windows系统自带命令查看硬件信息?

    如何在windows系统自带命令查看硬件信息? 对于在windows下查看系统信息大家一定不陌生了,我现在说几个最常用的方法,对命令感兴趣的朋友看看,(给菜鸟看的,老手就不要笑话我了,大家都是从那个时 ...

  8. [转]Delphi执行CMD命令

    今天看到有人在问用代码执行CMD命令的问题,就总结一下用法,也算做个备忘. Delphi中,执行命令或者运行一个程序有2个函数,一个是winexec,一个是shellexecute.这两个大家应该都见 ...

  9. Windows 系统采用批处理命令修改 ip 地址

    Windows 系统采用批处理命令修改 ip 地址 :: 设置IP地址 set /p choice=请选择设置类型(1:外网IP / 2:内网IP / 3:自动获取IP): echo. if &quo ...

  10. python 利用python的subprocess模块执行外部命令,获取返回值

    有时执行dos命令需要保存返回值 需要导入库subprocess import subprocess p = subprocess.Popen('ping www.baidu.com', shell= ...

随机推荐

  1. Server-side template injection 模板注入问题总结

    概念: 服务器模板注入(Server-side template injection) 攻击者能够使用本地的模板语法去注入一个恶意的payload,然后在服务器端执行该攻击,当与欧股直接输入数据到模板 ...

  2. (广州南沙)vue知识点整理2021,主要是防止忘记防备快速翻看

         ///////////////////////////   vue 中使用路由技巧:router //////////////////////////////// 写笔记说明,之前在江门工作 ...

  3. 海词 dict.cn 有 词义饼状分布图 和 词性饼状分布图 - 词典推荐

    海词 dict.cn 有 词义饼状分布图 和 词性饼状分布图 http://dict.cn/like

  4. 软件推荐 Notable / 现改用 Vnote 了

    https://notable.app/#download

  5. 在更新数据的时候,显示一个软件源里面没有Release文件

  6. vite中配置less,vue3中配置less

    前言 如果赶时间请直接使用目录跳到解决问题的部分. 使用的项目使用vue脚手架生成. npm init vue@latest 版本如下 "@vitejs/plugin-vue": ...

  7. Linux 运维工程师面试真题-5-常考题目汇总

    Linux 运维工程师面试真题-5-常考题目汇总 1.解释下什么是 GPL,GNU,自由软件? GPL:(通用公共许可证):一种授权,任何人有权取得.修改.重新发布自由软件的权力. GNU:(革奴计划 ...

  8. java DES 加密和解密

    代码如下 import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESK ...

  9. 算法学习笔记【1】| LCA(最近公共祖先)

    LCA(最近公共祖先) Part 1:逐步上跳 假设u,v是所求的两点,先把深度大的点逐步上移直到深度相同. 然后两者同时上移,直到第一次遇到相同的点为止. 时间复杂度: O(n)<script ...

  10. .net core ECDsa

    ECDsa(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法.在.NET Core中,System.Security.Cry ...