当前位置: 首页
业界动态
Pywinrm,一个 Python 管理利器!

Pywinrm,一个 Python 管理利器!

热心网友 时间:2026-04-15
转载

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绝对应该放在优先选项里。它解决的,正是那个最关键的“连接”问题。

来源:https://www.51cto.com/article/839963.html
上一篇: 疯传 ! GitHub 热门

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
刚刚开源 ! 潜力大

刚刚开源 ! 潜力大

MacOptimizer是什么 简单来说,MacOptimizer是一款基于SwiftUI框架开发的macOS系统优化工具。它的核心价值在于,将那些零散、繁琐的电脑维护任务整合到了一个统一的平台上。无论是深度卸载应用程序、清理系统缓存,还是查找大文件、管理开机启动项,用户都能在一个界面里高效完成,从

时间:2026-04-15 22:56
装好即是 Pro 版 !

装好即是 Pro 版 !

Komorebi:给 Windows 铺上隐形的轨道,让窗口自动归位 如果你也厌倦了在堆积如山的窗口里大海捞针,那么 Komorebi 这个项目绝对值得一试。它就像为 Windows 铺好了隐形的轨道,能让窗口自动、精准地归位,大幅提升多任务处理的效率。 常在 GitHub 上探索工具的朋友,可能已

时间:2026-04-15 22:51
工业物联网:如何通过先进的物联网技术收集制造数据?

工业物联网:如何通过先进的物联网技术收集制造数据?

从纸笔到云端:车间数据采集的进化之路 车间数据采集,这事儿听起来基础,却是实现智能制造的基石。本质上,借助物联网技术来收集数据,最大的好处在于速度和准确性——它能更快、更精准地抓取我们需要的信息,同时彻底杜绝了人工记录可能出现的疏忽和误差。 每一项先进技术都有其原始的起点,而目前许多车间里仍在使用的

时间:2026-04-15 22:50
图文详解:ping 通了就代表网络没问题吗?

图文详解:ping 通了就代表网络没问题吗?

揭开Ping的真相:网络连通性测试的能与不能 遇到网络卡顿、连接失败,你的第一反应是什么?相信很多人的手指会不自觉地敲下那个熟悉的命令:ping。确实,当命令行窗口弹出“Reply from ”时,心里总会踏实几分,仿佛“通了”就等于“好了”。但现实往往更骨感:明明ping得通,网页却打不开,视

时间:2026-04-15 22:49
Pywinrm,一个 Python 管理利器!

Pywinrm,一个 Python 管理利器!

Pywinrm:打通跨平台管理的最后一公里 在混合IT环境里,Linux机器想管Windows服务器,这事儿一直挺让人头疼的。你猜怎么着?当SSH够不着Windows,PowerShell Remoting又没个统一的Python接口时,pywinrm模块就登场了。它通过Windows远程管理(Wi

时间:2026-04-15 22:43
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程