当前位置: 首页
业界动态
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。

同类文章
更多
欧洲安全机构批评特斯拉FSD危险且命名误导

欧洲安全机构批评特斯拉FSD危险且命名误导

2025年3月30日消息,欧洲新车安全评鉴协会(Euro NCAP)的一名代表公开点名批评特斯拉的FSD(全自动驾驶)技术,直言其“既危险又不负责任”。这一严厉评价并非空穴来风——据Drive媒体报道,该代表已明确记录了相关言论。在接受澳大利亚和新西兰媒体采访时,Euro NCAP技术总监理查德·施

时间:2026-07-06 13:39
长安蓝鲸超擎混动发布 城区油耗宣称百公里2L

长安蓝鲸超擎混动发布 城区油耗宣称百公里2L

3月30日下午,长安汽车发布了一项重磅消息:今晚19:30,新一代混动技术“蓝鲸超擎”将面向全球正式发布。其宣传标语极具吸引力——城区油耗将直接迈入百公里2L时代。没错,你没有看错,是2L,不是3L,也不是2 98L,而是官方承诺进入“2L时代”。 从官方公布的宣传海报来看,蓝鲸超擎动力的供应链阵容

时间:2026-07-06 13:39
五菱缤果Pro 4月14日开启预售 CLTC续航330-403km

五菱缤果Pro 4月14日开启预售 CLTC续航330-403km

近期车圈关注度颇高的,当属五菱推出的这款纯电微型车——五菱缤果 Pro。核心信息抢先看:该车已正式确认将于 4 月 14 日开启预售,备受期待的纯电微型电动车终于要来了。 外观设计方面,新车重点围绕“Pro”化升级展开。封闭式前脸搭配复古风格圆形大灯,三段式日行灯带点亮后辨识度极高,一眼就能在车流中

时间:2026-07-06 13:39
年中国人口增长十强城市珠三角包揽前三

年中国人口增长十强城市珠三角包揽前三

2025年中国人口增长十强城市出炉,深圳、东莞、广州位列前三,均来自珠三角。深圳常住人口达1824 85万,增量25 9万居首。广东全年净流入约50万人,经济总量连续37年居全国首位,多项核心发展指标稳居第一。

时间:2026-07-06 13:39
九号公司预计2025年净利润16.7亿至18.5亿同比增长约54%-71%

九号公司预计2025年净利润16.7亿至18.5亿同比增长约54%-71%

九号公司近日公布了令人瞩目的业绩预告。1月29日,该公司正式公告,预计2025年度归属于上市公司股东的净利润将达到16 7亿元至18 5亿元,与2024年的10 84亿元相比,同比增长幅度高达54 04%至70 64%。这一接近翻倍的增长态势,无疑引发了市场的广泛关注与高度期待。 那么,这份强劲的增

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