← 返回列表
⚠ 装前注意
dsh-winrm — Windows 远程管理插件WinRM / PowerShell Remoting
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/27 · 已提供中文文档
dsh Web GUI 的远程 Windows 管理:WinRM/PowerShell Remoting 主机配置、PowerShell 执行、流式控制台、服务与进程管理、base64 分块文件传输、集群执行,以及 agent 工具(winrm_list、winrm_exec、winrm_service、winrm_process、winrm_upload、winrm_download、winrm_cluster)。独立 Cordis 插件。
综合分
34
GitHub 分
34
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add andyfan1094/dsh-winrm未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 静态安装检查有提示项,装前建议看一眼 README
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 30 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-winrm(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 11:27:36
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-winrm — Windows 远程管理插件(WinRM / PowerShell Remoting) 仿照 dsh-ssh 开发的 DSH 插件:用 Windows 原生的 WinRM / PowerShell Remoting 协议远程管理 Windows 服务器,目标机不需要装 OpenSSH。 功能 | 面 | 说明 | | --- | --- | | GUI 侧边栏「Windows」入口 | 居中面板:主机 / 控制台 / 服务 / 进程 / 传输 五个页签 | | Agent 工具 | winrm_list winrm_exec winrm_service winrm_process winrm_upload winrm_download winrm_cluster | | PowerShell 控制台 | WebSocket 命令会话(每条命令通过 pywinrm 执行,输出实时返回) | | 服务管理 | 列出 / 启动 / 停止 / 重启 / 改启动类型(自动/手动/禁用) | | 进程管理 | 列出(CPU/内存/路径)/ 按 PID 结束 | | 文件传输 | base64 分块读写,不依赖 SMB,任意路径可传;上传自动建目录 | | 集群 | 一条命令并发跑多台主机(按 aliases / environment / tags 过滤) | 认证与传输 - 使用 Windows 本机 pywinrm,优先 NTLM;受控兼容场景可回退 Basic(HTTP Basic 仅限受信内网,公网必须使用 HTTPS) - 本地账户可写 Administrator;域账户可写 DOMAIN\\user 或 user@domain - 本机需要可调用 Python + pywinrm(当前环境已安装;其他机器可执行 python -m pip install pywinrm) - 传输:HTTP(5985) 或 HTTPS(5986);HTTPS 可勾选「接受自签名证书」 - 中文输出不乱码:所有命令走 UTF-8 base64 信封(-EncodedCommand + Out-String 包装),绕过 WinRM 传输的代码页问题 目标机准备(一次性) 在要管理的 Windows 机器上,以管理员身份运行: powershell -ExecutionPolicy Bypass -File .\scripts\enable-winrm.ps1 脚本自动:启用 WinRM 服务与 5985 监听 → 开放 Basic/Negotiate 认证 → 允许 HTTP 明文(内网)→ WinRS 内存上限 512MB → 放行防火墙 → 打印本机 IP。 ⚠️ 安全:HTTP + Basic 是明文,仅限受信内网;公网请配置 HTTPS + 自签名证书,并在插件里勾选「接受自签名证书」。密码明文存于本机 ~/.dsh/dsh-winrm.json(0600 权限,仅当前用户可读),插件界面永不回显。 截图 dsh-winrm 截图 安装 从 Releases 下载最新的 dsh-winrm-.tgz,加入 profile: dsh plugin --profile web add D:\downloads\dsh-winrm-0.1.4.tgz 本地开发可用 profile 链接安装: dsh plugin --profile web add link:D:\项目\dsh-winrm 安装后 重启 dsh web(退出再启动 dsh web)使插件生效。侧边栏出现「Windows」入口;对话中可直接用 winrm_list 等工具。 从源码构建 cd D:\项目\dsh-winrm pnpm install npm run build # tsc 声明 + tsdown 宿主/客户端打包 + postbuild 包装 使用示例(agent 工具) winrm_list # 列出已配置主机 winrm_exec alias=web1 command="Get-Service | Select -First 5 | Format-Table" winrm_service alias=web1 name=W3SVC action=restart winrm_process alias=web1 action=list winrm_process alias=web1 id=1234 action=kill winrm_upload alias=web1 localPath=D:\a.zip remotePath=C:\temp\a.zip winrm_download alias=web1 remotePath=C:\logs\app.log localPath=D:\app.log winrm_cluster command="Get-Date" tags=prod 架构 src/ index.ts Cordis 插件入口(webServer/tools/systemPrompt 挂载 + 设置面板 + 公告) engine.ts WinRmEngine 门面:exec / services / processes / ls / upload / download / console / cluster / test store.ts ~/.dsh/dsh-winrm.json 主机存储(原子写,0600) protocol.ts 宿主↔浏览器 wire 类型 powershell.ts PS 片段构造器(UTF-8 信封 / 服务 / 进程 / 目录 / 分块读写) routes.ts /api/dsh-winrm 路由族 + 控制台 WebSocket(loopback 围栏) tools.ts 7 个 winrm_ agent 工具 engine/client.ts pywinrm bridge:凭据 stdin 传入、UTF-8 信封、分块传输 engine/console.ts 流式 PowerShell 控制台会话 client/ 浏览器半:侧边栏入口 + 居中面板(5 页签) scripts/ enable-winrm.ps1 目标机一键启用 WinRM postbuild.mjs 客户端产物 __ModuleLoader__ 包装 传输依赖本机 Python 的 pywinrm(NTLM/SPNEGO);密码通过 stdin 传给 bridge,不出现在 Python 进程参数中。 已知限制 - 控制台是命令会话,不保持 PowerShell 变量和当前目录状态;每条命令独立执行 - WinRM 单次响应受 150KB 信封上限约束,传输按 48KB 分块,大文件较慢(每块一次往返) - 单命令默认 60s 超时,可传 timeoutMs - 目标机需已启用 WinRM(见上);HTTP 明文 Basic 不应用于公网 English documentation: see README.md.