Pywinrm,一个 Python 管理利器!
Pywinrm:打通跨平台管理的最后一公里
在混合IT环境里,Linux机器想管Windows服务器,这事儿一直挺让人头疼的。你猜怎么着?当SSH够不着Windows,PowerShell Remoting又没个统一的Python接口时,pywinrm模块就登场了。它通过Windows远程管理(WinRM)协议,让Python脚本能像在本地一样,轻松执行远程Windows命令,算是真正解决了跨平台管理的那个“老大难”问题。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

快速安装与环境准备
好消息是,pywinrm的安装过程相当简单。它可是Ansible管理Windows节点的核心依赖,江湖地位摆在那儿。直接上pip命令就行:
!pip install pywinrm
import winrm
print("pywinrm模块导入成功")
print(f"支持的认证方式: basic, ntlm, kerberos, credssp")
执行后,你会看到类似这样的反馈,意味着环境已经就绪:
pywinrm模块导入成功
支持的认证方式:basic, ntlm, kerberos, credssp
WinRM协议端口:HTTP 5985 / HTTPS 5986
建立连接与执行基础命令
一切从建立会话开始。Session对象封装了所有连接细节,而run_cmd方法则是执行经典cmd命令的利器。来看个获取网络信息的例子:
session = winrm.Session(
'windows-server.example.com',
auth=('administrator', 'password'),
transport='ntlm')
result = session.run_cmd('ipconfig', ['/all'])
print(f"命令执行状态码: {result.status_code}")
print(result.std_out.decode('utf-8', errors='ignore')[:200] + "...")
命令执行后,返回的状态码和输出信息一目了然:
命令执行状态码:0
Windows IP Configuration
Host Name . . . . . . . . . . . . : WIN-SERVER
Primary Dns Suffix . . . . . . . : example.com...
执行PowerShell脚本
当然,pywinrm的真正威力,还得看它执行PowerShell脚本的能力。run_ps方法会自动帮你把脚本转换成Base64编码发送过去,省心省力。比如,想获取系统基本信息:
ps_script = """
$os = Get-CimInstance Win32_OperatingSystem
$cpu = Get-CimInstance Win32_Processor
"操作系统: " + $os.Caption
"处理器: " + $cpu.Name
"""
result = session.run_ps(ps_script)
output_lines = result.std_out.decode('utf-8', errors='ignore').strip().split('\n')
for line in output_lines:
print(f" {line}")
运行一下,远程服务器的核心配置就清晰呈现在眼前:
操作系统:Microsoft Windows Server 2024 Datacenter
处理器:Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
认证方式选择
安全连接是远程管理的前提。pywinrm支持多种认证方式,选对方式,成功率和安全性都能大幅提升。关键在于根据你的环境来配置:
session_ntlm = winrm.Session(
'server',
auth=('domain\\user', 'password'),
transport='ntlm')
print("认证方式配置完成")
print(" - NTLM: 本地+域账户")
print(" - Kerberos: 仅域账户")
print(" - CredSSP: 支持双跳")
简单来说,几种主要方式的适用场景是这样的:
认证方式配置完成
- NTLM:本地+域账户
- Kerberos:仅域账户
- CredSSP:支持双跳
优势对比分析与建议
那么,和SSH或者直接调用PowerShell Remoting相比,pywinrm到底强在哪儿?它的核心优势其实很明确:提供了一个统一的Python接口,并且能无缝集成到Ansible这样成熟的自动化生态里。
话说回来,它也不是没有短板。初始配置相对复杂,而且依赖Windows防火墙开放特定端口(5985或5986),这些都是需要考虑的因素。
所以,什么时候该用它呢?经验表明,当你需要自动化管理大批量Windows服务器,或者正在构建一个统一的、跨Linux和Windows的运维平台时,pywinrm绝对应该放在优先选项里。它解决的,正是那个最关键的“连接”问题。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
刚刚开源 ! 潜力大
MacOptimizer是什么 简单来说,MacOptimizer是一款基于SwiftUI框架开发的macOS系统优化工具。它的核心价值在于,将那些零散、繁琐的电脑维护任务整合到了一个统一的平台上。无论是深度卸载应用程序、清理系统缓存,还是查找大文件、管理开机启动项,用户都能在一个界面里高效完成,从
装好即是 Pro 版 !
Komorebi:给 Windows 铺上隐形的轨道,让窗口自动归位 如果你也厌倦了在堆积如山的窗口里大海捞针,那么 Komorebi 这个项目绝对值得一试。它就像为 Windows 铺好了隐形的轨道,能让窗口自动、精准地归位,大幅提升多任务处理的效率。 常在 GitHub 上探索工具的朋友,可能已
工业物联网:如何通过先进的物联网技术收集制造数据?
从纸笔到云端:车间数据采集的进化之路 车间数据采集,这事儿听起来基础,却是实现智能制造的基石。本质上,借助物联网技术来收集数据,最大的好处在于速度和准确性——它能更快、更精准地抓取我们需要的信息,同时彻底杜绝了人工记录可能出现的疏忽和误差。 每一项先进技术都有其原始的起点,而目前许多车间里仍在使用的
图文详解:ping 通了就代表网络没问题吗?
揭开Ping的真相:网络连通性测试的能与不能 遇到网络卡顿、连接失败,你的第一反应是什么?相信很多人的手指会不自觉地敲下那个熟悉的命令:ping。确实,当命令行窗口弹出“Reply from ”时,心里总会踏实几分,仿佛“通了”就等于“好了”。但现实往往更骨感:明明ping得通,网页却打不开,视
Pywinrm,一个 Python 管理利器!
Pywinrm:打通跨平台管理的最后一公里 在混合IT环境里,Linux机器想管Windows服务器,这事儿一直挺让人头疼的。你猜怎么着?当SSH够不着Windows,PowerShell Remoting又没个统一的Python接口时,pywinrm模块就登场了。它通过Windows远程管理(Wi
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

