Skip to content
FunCoding

Search

Search docs, Skills and MCP

选择与部署管理渠道

对比服务器、原生 MDM 和平台文件,以及合并与离线范围。

This page has not been translated into English yet. The original Chinese version is shown below.

可以组合多种部署方式,例如设备端放置必须持续生效的限制,服务器端维护经常更新的插件政策。组合后应逐键核对最终值,不只检查某个配置文件。

三种渠道

渠道适用范围主要特点
Server-managed通过企业获得 Copilot 许可的已登录用户;包含受支持 cloud agent仓库审查与历史、enterprise team overrides
原生 MDM装有设备政策的本地客户端,不依赖许可证来自哪里macOS / Windows 的设备组投放,可在登录前生效
File-based收到文件的本地客户端,不依赖许可证来自哪里各平台可用,适合容器、Codespaces 等环境

CLI 请求服务器设置失败且没有缓存时,该会话无法使用服务器政策。必须在没有服务器响应时仍存在的限制,应使用设备 MDM 或文件渠道。

服务器部署

在已选定的治理仓库更新 copilot/managed-settings.json,通过组织流程提交到默认分支。受支持客户端通常约一小时取得变更,重启或重新登录会触发立即刷新。

部署还包括 copilot/team-mappings.json 和被引用的 copilot/teams/ 文件,详见团队覆盖。

原生 MDM 编码

原生 MDM 不是分发 JSON 文件。Windows 使用 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\GitHubCopilot 下 REG_SZ 值;macOS 使用 com.github.copilot domain 的 forced managed preferences 字符串。Linux 不支持这种原生 MDM 方式,使用文件部署。

所有值都必须是字符串。嵌套键使用点分名称,普通字符串直接保存,布尔值、数组和对象则先编码为 JSON 文本:

键原生字符串内容
permissions.disableBypassPermissionsModedisable
sandbox.enabledtrue
enabledPlugins{"PLUGIN-NAME@MARKETPLACE-NAME":true}

通过现有 MDM 工具投放到设备组。客户端每小时检查更新,无需为每次更新重启;VS Code 测试时可运行 Developer: Sync Account Policy 主动检查。

文件部署

平台文件路径
macOS/Library/Application Support/GitHubCopilot/managed-settings.json
Windows%ProgramFiles%\GitHubCopilot\managed-settings.json
Linux/etc/github-copilot/managed-settings.json

文件使用 JSON schema。CLI 在 macOS / Linux 要求普通文件、root 所有,不能 group-writable / world-writable,也不能是 symlink。未收到文件的设备不受这份文件约束。

通用部署指南要求更新后重启客户端加载文件;不要把 MDM 的免重启刷新直接套用到文件部署。

多渠道优先级

通用部署指南按 MDM → server-managed → file-based → user-level 排序。例外是 sandbox 与 permissions.deny / ask / allow,按更严格方向组合。

CLI 专门参考将设备 MDM 与服务器按键合并,并讨论每小时重新应用托管设置,但没有在该段独立展开所有文件场景;不要从“设备优先”推定任意本地 JSON 都能覆盖服务器。具体权限的 union / intersection 与沙箱下限见托管权限和沙箱管理。