XML的使用
XML的使用
FortiClient 的大多数配置都可以表示为 XML。EMS 的图形化配置页面适合常规配置;当某个参数没有对应的图形化选项、需要迁移已有配置,或需要精确控制高级功能时,可以在终端配置文件中编辑或导入 XML。
警告
XML 配置会直接影响终端。错误的节点、取值或平台配置可能导致配置无法下发,或者使 VPN、Web Filter、恶意软件防护等功能异常。生产环境中应先导出原配置,并在少量测试终端上验证后再扩大策略范围。
XML的适用场景
| 场景 | 建议方法 |
|---|---|
| 修改 EMS 已有终端配置文件中的高级参数 | 在配置文件中打开 Advanced > XML Configuration,编辑后执行 Test XML |
| 将一份完整 XML 建成新的 EMS 配置文件 | 在 Endpoint Profiles > Manage Profiles 中使用 Import From File |
| 备份或恢复一台独立管理的 FortiClient | 在 FortiClient 的 Settings > System 中使用 Backup 或 Restore |
| 查询节点含义、取值范围和平台支持情况 | 查阅与 FortiClient 版本一致的 FortiClient XML Reference |
对于由 EMS 管理的终端,应以 EMS 的终端配置文件为配置来源,不要依赖用户在本地 FortiClient 中修改设置。EMS 会通过终端策略把配置文件下发给匹配的终端。
XML的基本结构
配置文件以 <forticlient_configuration> 作为根节点。下面是用于说明结构的最小示例。
<?xml version="1.0" encoding="utf-8"?>
<forticlient_configuration>
<forticlient_version>7.4.0</forticlient_version>
<version>7.4.0</version>
<partial_configuration>1</partial_configuration>
<os_version>windows</os_version>
<os_architecture>x64</os_architecture>
<system>
<!-- 在这里放置 system 子节点 -->
</system>
</forticlient_configuration>常见的顶层配置区域包括:
system:界面、日志、代理、更新、证书和安装程序等通用设置;endpoint_control:终端与 EMS 的连接和控制设置;vpn:SSL VPN、IPsec VPN 和 VPN 全局设置;antivirus、webfilter、application_firewall:安全功能设置;vulnerability_scan、sandbox、anti_exploit:漏洞扫描、沙箱和防漏洞利用设置;removable_media_access:可移动媒体访问控制设置。
重要
具体节点名称可能会随 FortiClient 版本、操作系统和已安装功能变化。优先从同版本、同平台的现有配置导出,再参照对应版本的 XML Reference 修改。
编写规则
- 文件使用 UTF-8 编码,并且只能有一个
<forticlient_configuration>根节点; - XML 标签区分大小写,开始标签和结束标签必须匹配;
- 布尔值通常使用
0和1,但应以对应版本 XML Reference 中的定义为准;有的选项会包括2和3。(例如eap_method)
- 布尔值通常使用
- 文本中的
&、<、>应分别写为&、<、>; - 地址、端口、枚举值和节点所在层级必须符合对应节点的要求;
- 不要在文档、工单或代码仓库中保存明文密码、预共享密钥、私钥或其他敏感信息。
在EMS中编辑XML
- 进入 Endpoint Profiles > Manage Profiles。
- 新建一个配置文件,或者克隆并编辑现有配置文件。生产配置建议先克隆,保留可回退版本。
- 输入配置文件名称,点击 Advanced。
- 打开 XML Configuration,点击 Edit。
- 修改所需节点,然后点击 Test XML。
- 测试通过后点击 Save。
- 在终端策略中引用该配置文件,并先把策略分配给测试终端或测试组。
Test XML 通过只表示 XML 能够被 EMS 接受,并不等于业务功能已经验证。保存后仍应确认终端命中了预期策略、收到最新配置,并检查相应功能是否正常。
重要
- 如果同时使用图形化选项和自定义 XML 配置同一功能,后续在图形界面保存配置时可能重新生成相关节点。修改后应再次检查 XML,避免高级设置被覆盖。
从XML文件导入EMS配置文件
导入适合迁移已验证的完整配置,或者将同一配置作为新配置文件的基础。
- 准备与目标 FortiClient 版本和操作系统相匹配的 XML 文件。
- 进入 Endpoint Profiles > Manage Profiles。
- 点击 Import From File。
- 在 Name 中输入新配置文件的名称。
- 在 XML 区域选择 XML 文件,然后点击 Upload。
- 打开导入后的配置文件,检查各功能和 XML 内容,再通过测试策略下发。
如果 XML 启用了 EMS 的 Feature Select 中已关闭的功能,EMS 会显示警告;该功能仍不会在终端上启用。需要先在 EMS 中启用对应功能,再验证许可证和终端安装包是否包含所需组件。
在FortiClient中备份和恢复XML
独立管理的 FortiClient 可以通过本地界面备份和恢复配置:
- 打开 FortiClient,进入 Settings。
- 展开 System。
- 选择 Backup 导出 XML,或选择 Restore 导入 XML。
- 备份时根据需要选择保存位置、保护密码并填写备注。
重要
FortiClient 备份的配置不能导入到EMS中,请注意。
恢复前应保留当前配置的备份。受 EMS 管理的终端通常由 EMS 锁定配置,本地恢复不是集中管理环境中的常规变更方式;应在 EMS 中修改配置文件并通过策略下发。
验证和发布
建议按以下顺序验证:
- 检查文件格式:确认 XML 编码、标签闭合和特殊字符转义正确。macOS 或 Linux 可运行
xmllint --noout <文件名>.xml做基础语法检查。 - 在 EMS 中测试:使用 Test XML,清除所有解析或节点错误。
- 检查策略命中:确认测试终端属于预期分组,并命中引用该配置文件的终端策略。
- 等待配置同步:终端在下一次 Telemetry 通信时接收配置;在 EMS 的终端详情中确认连接和配置状态。
- 验证业务功能:按照变更内容测试 VPN、更新、Web Filter 或其他相关功能,不能只检查 XML 是否保存成功。
- 分批扩大范围:测试通过后再逐步增加策略覆盖范围,并保留原配置文件用于快速回退。
常见问题
| 现象 | 检查与处理 |
|---|---|
| Test XML 报格式错误 | 检查根节点、标签闭合、大小写、引号和 & 等特殊字符;先用 XML 解析器定位行号 |
| XML 可以保存,但设置没有生效 | 检查终端是否在线、是否命中正确策略、是否已收到新配置,以及节点是否适用于当前操作系统和 FortiClient 版本 |
| EMS 提示某项功能已禁用 | 在 Feature Select 中启用对应功能,并确认许可证与安装包组件满足要求 |
| 图形化配置保存后,高级 XML 参数消失 | 图形化页面可能重新生成对应模块的 XML;从原配置克隆测试,并在每次保存后复查相关节点 |
| 导入后其他设置发生变化 | 检查 partial_configuration 的取值,并确认导入文件是完整配置还是部分配置;必要时恢复原配置文件 |
| 同一 XML 在 Windows 和 macOS 上结果不同 | 使用与目标平台匹配的配置和参考文档;不要假设所有节点跨平台通用 |
| 配置包含密码或密钥 | 不要通过聊天、邮件或工单直接传递未脱敏 XML;使用产品支持的加密或受控传输方式 |
注意
- 说明:XML 节点和支持范围会随版本变化。本文介绍通用流程,具体标签、默认值和取值范围应以目标 FortiClient 版本的 XML Reference 以及 EMS 页面中的 Test XML 结果为准。
更新历史
| Ver | Description | Author | Rev | Date |
|---|---|---|---|---|
| 1.0 | First Complete | ysheng | tanga | 2026.10.16 |
| 0.1 | Draft Version | - | - | 2026.08.04 |