You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python管理Windows 10远程电脑且无需在远程端安装额外程序?

可行实现方案

最优推荐:使用pywinrm调用Windows原生WinRM服务

WinRM是Windows 10系统原生自带的远程管理服务,远程侧仅需首次做简单配置即可,无需安装Python或其他第三方程序,完全匹配你的需求。你此前遇到的WMI兼容问题、pypsexec的远程依赖问题都可以通过该方案避免。

1. 远程Windows 10首次配置(仅需操作1次)

用管理员权限打开远程设备的PowerShell,执行以下命令:

  • 启用WinRM服务:
    Enable-PSRemoting -SkipNetworkProfileCheck -Force
  • 配置防火墙放行WinRM流量:
    Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress Any

如果你使用本地管理员账号(非域账号)远程访问,需要额外执行以下命令关闭UAC远程过滤:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

2. 本地Python环境安装依赖

仅需要在你运行脚本的本地设备安装pywinrm:
pip install pywinrm

3. 代码调用示例

执行CMD命令

import winrm
# 替换为实际的远程设备IP、管理员账号密码
remote_session = winrm.Session('192.168.3.20', auth=('admin', '你的密码'))
# 执行命令,示例为查看系统信息
run_result = remote_session.run_cmd('systeminfo')
# 输出执行结果
print("命令输出:\n", run_result.std_out.decode('gbk'))
if run_result.std_err:
    print("执行错误:\n", run_result.std_err.decode('gbk'))

执行PowerShell命令

import winrm
remote_session = winrm.Session('192.168.3.20', auth=('admin', '你的密码'))
# 执行PowerShell命令,示例为列出所有已安装软件
run_result = remote_session.run_ps('Get-CimInstance Win32_Product | Select-Object Name, Version')
print("命令输出:\n", run_result.std_out.decode('utf-8'))
if run_result.std_err:
    print("执行错误:\n", run_result.std_err.decode('utf-8'))

替代方案:基于Impacket的PsExec实现

如果你不想配置远程WinRM服务,可以使用该方案,仅需要远程设备开启默认的SMB服务即可,同样无需远程安装任何程序:

  • 本地安装依赖:pip install impacket
  • 该方案和微软官方的PsExec工具逻辑完全一致,通过SMB协议调用系统自带的服务执行命令,兼容性覆盖所有Win10版本
  • 调用时直接传入远程地址、账号密码和要执行的命令即可完成操作

补充说明:你此前对pypsexec的认知存在误区,标准的基于SMB协议实现的pypsexec类库都不需要远程安装Python,你之前使用的应该是特殊封装的版本,上述两个方案都不存在远程依赖问题。

内容的提问来源于stack exchange,提问作者Argroth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 22:24:00