部署 Microsoft Exchange Server SE (Subscription Edition) 或 Exchange Server 2019 是一项严谨的任务,其成功的基石在于 Active Directory 环境的正确准备。许多部署后出现的诡异问题,其根源往往可追溯至初始的 AD 准备不当。本指南将作为您的终极路线图,深度解析从系统要求到安全扩展 AD 架构的全过程,为您的 Exchange 部署奠定坚实、稳定的基础。
本篇将结合微软官方文档与企业级实践,系统讲解:
- Exchange Server SE 对 AD 的具体要求
- PrepareSchema / PrepareAD / PrepareDomain 的执行逻辑
- AD 扩展后的关键更改
- 验证步骤与排错方法
- 多域、多站点、生产环境中的最佳实践
一、为什么安装 Exchange Server SE 前必须扩展 Active Directory?
Exchange Server SE 依赖 Active Directory 存储配置、权限、收件人对象、系统邮箱等信息。在安装之前,系统会向 AD 写入一系列 Exchange 专用对象,包括:
| 修改类型 | 内容 |
|---|---|
| Schema 扩展(PrepareSchema) | 新增 Exchange 类、属性(ms-Exch-*) |
| 森林准备(PrepareAD / PrepareForest) | 创建 Exchange 组织、配置对象、地址列表、RBAC 角色 |
| 域准备(PrepareDomain) | 创建系统对象容器、安全组、域权限 |
| RBAC 权限模型写入 | 管理角色组、访问控制条目 |
| 系统邮箱创建 | 仲裁邮箱、审核日志邮箱、发现邮箱等 |
一句话总结:没有准备好 AD,就无法成功安装 Exchange Server SE。
阅读本系列第二篇:
如果你希望了解 Exchange Server SE 相比以往版本在架构、安全性和部署模型上的核心变化,建议先阅读第二篇内容,再继续本篇的 AD 扩展流程。
二、Exchange Server SE 与 Exchange 2019:AD 需求差异
虽然两者的 Prepare 步骤一致,但 SE 的 AD 功能级别要求更高:
| Exchange 版本 | 最低森林功能级别 | 最低域功能级别 |
|---|---|---|
| Exchange Server SE | Windows Server 2016 | Windows Server 2016 |
| Exchange Server 2019 | Windows Server 2012 R2 | Windows Server 2012 R2 |
建议企业级场景统一使用 Windows Server 2019/2022 域控。
三、Active Directory 扩展前的环境检查(强制建议)
在实际企业项目中,我们遇到的 80% 安装失败,出在 AD 环境问题。部署前请确认以下内容:
1. 企业必须至少具备以下组件
| 必备组件 | 说明 |
|---|---|
| .NET Framework 4.8 | Exchange SE 必须安装 |
| RSAT-ADDS | 扩展 Schema/Forest/Domain 所需 |
| Visual C++ 2013 Runtime | 安装程序依赖 |
| PowerShell 5.1 | Exchange 预安装检查 |
2. AD 环境必须健康(核心检查)
建议执行:
dcdiag /v
repadmin /replsummary
repadmin /showrepl
重点检查:
- FSMO 是否在线
- 架构主机是否可访问
- 足够的 GC(全局编录)
- AD 复制是否正常(尤其跨站点)
- SYSVOL 是否正常同步
3. 执行 Prepare 的账号权限要求
| 操作 | 权限要求 |
|---|---|
| PrepareSchema | Schema Admins + Enterprise Admins |
| PrepareAD | Enterprise Admins |
| PrepareDomain | Domain Admins |
注意:权限不足是企业最常见错误原因。
四、扩展 Active Directory 的三大步骤(关键命令 + 行为解析)
步骤 1:扩展 AD 架构(PrepareSchema)
此步骤是最核心的 AD 修改。
执行命令:
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
执行行为:
- 导入多个 Exchange LDF 文件
- 为 Exchange 创建专用属性(ms-Exch-*)
- 更新 forest-wide schema version(170)
注意事项:
- 必须在能访问 Schema Master 的服务器执行
- 一旦扩展不可逆
- 建议执行 AD 系统状态备份
步骤 2:准备森林(PrepareAD / PrepareForest)
执行命令:
Setup.exe /PrepareAD /OrganizationName:"YourOrg" /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
执行行为:
命令会创建:
- Exchange 专用组织配置容器
- 地址列表、传输设置、系统配置
- RBAC 管理角色组(约 85+)
- Microsoft Exchange Security Groups OU(林根域)
注意:
- OrganizationName 设置后 永久不可更改
- 所有 Exchange 服务器共享同一组织对象
步骤 3:准备域(PrepareDomain / PrepareAllDomains)
单域环境执行:
Setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
多域环境执行:
Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
准备内容包括:
- 创建 Microsoft Exchange System Objects 容器
- 设置 Exchange 服务器的域级权限
- 配置审核策略、ACL、安全组
五、如何验证 AD 扩展是否成功?(企业级必做)
1. 验证 Schema Version
Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion
Exchange 2019 / SE 应为 170
2. 验证组织容器
Get-OrganizationalUnit -Identity "Microsoft Exchange System Objects"
3. 验证 RBAC 角色组
Get-RoleGroup | ft Name
应包含:
- Organization Management
- Recipient Management
- Server Management
- View-Only Organization Management 等
4. 验证系统邮箱
Get-Mailbox -Arbitration
必须包含:
- 仲裁邮箱
- 审核日志邮箱
- EDiscovery 邮箱
六、FAQ(企业级环境高频问题)
Q1:为什么安装 Exchange Server SE 之前必须运行 PrepareSchema?
A: PrepareSchema 会向 Active Directory 添加 Exchange 所需的类和属性(如 ms-Exch-*)。如果不扩展 Schema,安装程序无法识别 Exchange 所需的目录结构,安装将直接失败。Schema 扩展属于林级别修改且不可回滚,因此必须在部署前正确执行。
Q2:在多域环境中,我需要在每个域都运行 PrepareDomain 吗?
A: 是的。如果你的 AD 林包含多个子域或平行域,必须在每个会部署 Exchange 服务器或启用邮箱用户的域中运行 PrepareDomain。你可以选择逐域执行或使用 /PrepareAllDomains 一次性准备所有域。
Q3:PrepareSchema / PrepareAD 需要什么权限?普通管理员可以执行吗?
A: 不能。三个步骤所需权限如下:
| 操作 | 必须权限 |
|---|---|
| PrepareSchema | Schema Admins + Enterprise Admins |
| PrepareAD(PrepareForest) | Enterprise Admins |
| PrepareDomain | Domain Admins(执行域内准备) |
使用权限不足的账户将导致整个准备过程失败。
Q4:执行 AD 扩展(PrepareSchema/PrepareAD)时,是否必须在域控制器上运行?
A: 不是必须,但执行服务器必须能访问 Schema Master 和所有 DC。
实际企业部署中常在加入域的普通服务器上执行,但必须确保:
- PowerShell 与域控连通
- 当前服务器能访问 Schema Master
- RSAT-ADDS 已安装
Q5:PrepareSchema 执行成功后,如何确认架构版本正确?
A: 在 PowerShell 中执行:
Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion
Exchange Server SE / 2019 的架构版本应为:
objectVersion = 170 若不是此版本,说明 Schema 未正确扩展。
Q6:AD 复制延迟会影响 PrepareAD 或 PrepareDomain 吗?
A: 会。AD 复制延迟是导致 Prepare 失败的主要原因之一,尤其在多站点环境中。
建议检查复制状态:
repadmin /replsummary
repadmin /showrepl
建议在所有 DC 同步完成后再进行下一步安装。
Q7:OrganizationName 是否可以修改?如果填写错误怎么办?
A: 不能修改。/PrepareAD 设置的组织名称会永久写入 AD,如果填写错误必须:
- 手动清理所有 Exchange AD 对象(极其复杂)
- 或重建 AD(不推荐)
企业级环境务必提前规划好组织名称。
Q8:PrepareAD 是否会自动执行 PrepareDomain?
A: 在单域环境中会自动执行。在多域环境中,只会准备当前域,其他域仍需单独运行 PrepareDomain 或使用 /PrepareAllDomains。
Q9:准备 AD 之前是否需要备份?备份什么?
A: 是的,强烈建议执行系统状态备份。需要备份:
- Active Directory 数据库
- SYSVOL
- FSMO 角色信息
因为 Schema 扩展不可逆,一旦出现问题只能通过 AD 恢复或还原系统状态。
Q10:执行准备命令时失败,常见原因有哪些?
A:常见原因如下:
- 权限不足(最常见)
- 无法访问 Schema Master
- AD 复制未完成,导致部分对象缺失
- DNS 或网络连通性故障
- RSAT-ADDS 未安装导致命令无法写入 AD
- 林功能级别/域功能级别不满足要求(SE 必须 2016+)
建议逐项排查并查看 ExchangeSetupLogs 中的错误信息。
七、部署 Checklist(可直接用于生产环境)
部署前检查:
- AD 复制正常
- FSMO 角色在线
- Schema Master 可访问
- 执行账号权限满足
- AD 已完成系统状态备份
Prepare 操作检查:
- /PrepareSchema 成功
- /PrepareAD 成功
- /PrepareDomain 成功
- Schema Version = 170
- RBAC 角色组完整
- 系统邮箱创建成功
环境准备完成:
- Exchange 组织容器已创建
- Exchange 安装前检查通过
总结:AD 架构扩展是 Exchange Server SE 安装的关键核心
完成本篇后,你应该已经:
✔ 完成 Exchange Server SE 的 AD 前置检查
✔ 正确执行 PrepareSchema、PrepareAD、PrepareDomain
✔ 验证所有必要的 AD 对象和系统邮箱
✔ 根据企业级最佳实践优化 AD 健康度
相关阅读与工具
技术交流群

此文章为原创文章,作者:PANGSHARE,如若转载,请与我联系并注明出处:https://www.pangshare.com/exchange-server-se-ad-prepare/
微信扫一扫
评论列表(1条)
[…] 环境要求、AD 架构扩展、系统准备 […]