骚操作!用 Python 远程控制 Windows 服务器,太好用了!

2年前 (2022-11-12)阅读2回复1
猪脚
猪脚
  • 总版主
  • 注册排名6
  • 经验值281515
  • 级别网站编辑
  • 主题56303
  • 回复0
楼主

骚操做!用 Python 长途控造 Windows 办事器,太好用了!

在良多企业会利用闲置的 Windows 机器做为临时办事器,有时候我们想长途挪用里面的法式或查看日记文件

Windows 内置的办事「 winrm」能够满足我们的需求

它是一种基于尺度简单对象拜候协议( SOAP )的防火墙友好协议,允许来自差别供给商的硬件和操做系统停止互操做

官网:

1. 被控端 windows

那里以 Windows 10 系统机器为例

详细操做步调如下:

1-1 启动 winrm 办事

以办理员权限翻开 CMD 号令窗口,输入下面号令启动 winrm 办事

# 启动winrm办事

winrmquickconfig -q

若是运行报错,提醒收集类型设置异常

能够快速键 win+i 进入到收集和 Internet,更改收集设置装备摆设文件,由公用切换为公用

骚操做!用 Python 长途控造 Windows 办事器,太好用了!

展开全文

1-2 查抄 winrm 办事监听形态

继续在号令行输入下面号令,查看 winrm 办事的形态

PS: 留意那里的端标语 Port 值后面毗连会用到

# 查看winrm办事的形态

winrme winrm/config/listener

# 成果

Listener

Address = *

Transport = HTTP

Port = 5985

Hostname

Enabled = true

URLPrefix = w *** an

CertificateThumbprint

ListeningOn = **

1-3 查看 winrm 设置装备摆设信息(可选)

通过以下号令能够查看 winrm 全数设置装备摆设信息、client 客户端设置装备摆设信息、service 办事端设置装备摆设信息

# 全数

winrm getwinrm/config

# Client

winrm getwinrm/config/client

# Service

winrm getwinrm/config/service

1-4 设置装备摆设 winrm client

# 设置装备摆设winrm client

winrm setwinrm/config/ client@{AllowUnencrypted= "true"}

winrm setwinrm/config/ client@{TrustedHosts= "*"}

winrm setwinrm/config/ client/auth @{Basic= "true"}

1-5 设置装备摆设 winrm service

在设置装备摆设完 winrm service 和 winrm client 后,我们通过通过步调 1-3 查看设置装备摆设文件,确保设置装备摆设文件已生效

# 设置装备摆设winrm service

winrm setwinrm/config/service @{AllowUnencrypted= "true"}

winrm setwinrm/config/service/auth @{Basic= "true"}

2. 控造端

在控造端,好比:Mac OSX、Linux,我们只需要安拆「 pywinrm」依赖包即可

# 控造端安拆依赖包

pip3install pywinrm

3. 实战一下

做为以上筹办后,我们就能够编写代码对 Windows 停止控造了

起首,我们需要 ip 地址、端标语、用户名、密码毗连 Windows 被控端

# 毗连windows

import winrm

# ip地址:端标语

# winrm server端标语

# auth:用户名和密码

self.session = winrm.Session( "192.168.**.**:5985", auth=( 'username', 'password'), transport= 'ntlm')

如许,我们就能够通过对象的「 run_cmd」和「 run_ps」函数模仿 CMD、PowerShell 输入号令了

那里以查看 Windows 某个硬盘目次下的日记文件为例

# 毗连windows

importwinrm

importcodecs

defexec_cmd(self, cmd):

施行cmd号令,获取返回值

:param cmd:

:return:

# CMD

result = self.session.run_cmd(cmd)

# powerShell

# result = self.session.run_ps(cmd)

# 返回码

# code为0代表挪用胜利

code = result.status_code

# 按照返回码,获取响应内容(bytes)

content = result.std_out ifcode == 0elseresult.std_err

# 转为字符串(测验考试通过UTF8、GBK停止解码)

# result = content.decode("utf8")

# result = codecs.decode(content,'UTF-8')

try:

result = content.decode( "utf8")

except:

result = content.decode( "GBK")

print(result)

returnresult

# 翻开文件D:/py/log/trade.log

# windows利用type号令,查看文件内容

result = self.exec_cmd( 'D: &cd py\\log &type trade.log')

# 查看成果

print(result)

4. 总结

除了能够长途查看 Windows 的文件外,还能够施行 bat 批处置文件,又或者是模仿号令行输入,按照返回值停止其他骚操做。

你学会了么?

入门: 最全的零根底学Python的问题 | 零根底学了8个月的Python |实战项目 | 学Python就是那条捷径

干货:爬取豆瓣短评,片子《后来的我们》 | 38年NBA更佳球员阐发 |从万寡等待到口碑扑街!唐探3令人绝望 | 笑看新倚天屠龙记 | 灯谜答题王 | 用Python做个海量蜜斯姐素描图 | 碟中谍那么火,我用机器进修做个迷你保举系统片子

兴趣:弹球游戏 | 九宫格 | 标致的花 | 两百行Python《天天酷跑》游戏!

AI:会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍那么火,我用机器进修做个迷你保举系统片子

小东西: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保留为pdf! |再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 造做一款钉钉低价机票提醒器! |60行代码做了一个语音壁纸切换器天天看蜜斯姐! |

年度爆款案牍

1). *** !Pdf转Word用Python轻松搞定 !

2).学Python实香!我用100行代码做了个网站,帮人PS游览图片,赚个鸡腿吃

3).首播过亿,火爆全网,我阐发了《披荆斩棘的姐姐》,发现了那些奥秘

4). 80行代码!用Python做一个哆来A梦分身

5).你必需掌握的20个python代码,短小精悍,用途无限

6). 30个Python奇淫技巧集

7). 我总结的80页《菜鸟学Python精选干货.pdf》,都是干货

8). 再见Python!我要学Go了!2500字深度阐发 !

9).发现一个舔狗福利!那个Python爬虫神器太爽了,主动下载妹子图片

0
回帖

骚操作!用 Python 远程控制 Windows 服务器,太好用了! 相关回复(1)

烈火战将
烈火战将
沙发
骚操作!用Python远程控制Windows服务器,太好用了!
1个月前 (05-26 07:15)回复00
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息