Clash Verge Rev 已成为 Windows 平台事实上的标准 GUI 客户端。对于需要在 50+ 台办公机上统一部署的 IT 团队,手动安装显然不可行。本文基于两家科技公司的真实部署案例,整理出一套经过审计的静默安装与运维流程。💻
部署架构概览 — 三层分离模型
推荐将部署拆为三层:安装层(MSI 静默推送)、配置层(预置 config.yaml 通过 GPO 分发)、内核层(mihomo 二进制版本锁定)。三层独立更新,避免 GUI 升级覆盖用户自定义配置。🏗️
静默安装 — NSIS 参数与 Intune 推送
Verge Rev 的 NSIS 安装包支持以下静默参数:
# 管理员 PowerShell Start-Process -FilePath ".\Clash.Verge_x64-setup.exe" -ArgumentList "/S" -Wait # 验证安装 Test-Path "$env:LOCALAPPDATA\clash-verge\clash-verge.exe"
通过 Microsoft Intune Win32 App 推送时,检测规则设为 %LOCALAPPDATA%\clash-verge\clash-verge.exe 存在性,安装命令添加 /S /D=%LOCALAPPDATA%\clash-verge 可自定义目录。
预置配置文件分发
Verge Rev 的配置目录位于 %APPDATA%\io.github.clash-verge-rev。企业部署可通过登录脚本将标准化 profiles.yaml 和 config.yaml 复制到该目录:
# 登录脚本片段 (deploy-clash.ps1) $dest = "$env:APPDATA\io.github.clash-verge-rev\profiles" New-Item -ItemType Directory -Force -Path $dest Copy-Item "\\fileserver\clash-config\*" $dest -Force
计划任务自启动 — 替代启动文件夹
启动文件夹方式会被部分安全软件拦截。推荐创建 ONLOGON 触发器计划任务,以用户身份运行(非 SYSTEM,否则 TUN 权限异常):
$action = New-ScheduledTaskAction -Execute "$env:LOCALAPPDATA\clash-verge\clash-verge.exe" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName "ClashVergeAutoStart" -Action $action -Trigger $trigger
AppLocker 与杀毒软件白名单
企业环境常见故障:AppLocker 阻止 wintun.dll 加载、杀毒软件隔离 mihomo 核心。白名单路径清单:
%LOCALAPPDATA%\clash-verge\%APPDATA%\io.github.clash-verge-rev\%APPDATA%\io.github.clash-verge-rev\clash-meta\(内核二进制)
版本锁定策略 — 防止自动升级破坏合规审计
在 Verge Rev 设置中关闭「自动检查更新」,通过 WSUS 式管理:IT 部门测试新版本 → 打包 MSI → 推送升级。内核版本在 设置 → 内核版本 中可手动指定本地 mihomo 二进制路径。🔒
故障排查速查表
| 症状 | 原因 | 解法 |
|---|---|---|
| TUN 启动失败 | wintun 未安装 | 设置 → 安装服务模式 |
| 系统代理无效 | 其他 VPN 冲突 | 关闭其他 VPN 的「自动代理」 |
| 配置导入失败 | 语法不兼容 | mihomo -t -f config.yaml |
| 托盘图标消失 | WebView2 缺失 | 安装 Edge WebView2 Runtime |