1. 什么是 AD 激活
AD 激活(Active Directory-Based Activation, ADBA)是微软从 Windows Server 2012 R2 和 Windows 8.1 开始引入的激活方式。
AD 激活将激活对象存储在 Active Directory 数据库中,而不是使用独立的 KMS 主机。客户端通过 查询 AD 来获取激活信息。
- 无需 KMS 主机 — 激活对象存储在 AD 中,节省服务器资源
- 自动发现 — 客户端自动查找 AD 中的激活对象,无需配置 KMS 服务器地址
- 永久激活 — 只要客户端能联系域控制器,就保持激活状态(无需 180 天续期)
- 简化管理 — 无需管理 KMS 主机密钥、DNS SRV 记录等
2. AD 激活 vs KMS 对比
| 对比项 | AD 激活 | KMS |
|---|---|---|
| 激活服务器 | AD 域控制器(自动) | 独立 KMS 主机 |
| 激活期限 | 永久(只要能联系 DC) | 180 天(需续期) |
| 客户端发现 | 自动(查询 AD) | DNS SRV 记录或手动配置 |
| 激活阈值 | 无 | 有(25 台 Windows/5 台 Server) |
| 适用环境 | 纯 AD 环境 | 混合环境(有非域客户端) |
| 管理复杂度 | 低 | 中 |
AD 激活 仅适用于域环境。如果客户端不在域中,无法使用 AD 激活,必须使用 KMS 或 MAK。
3. AD 激活前提条件
- 域环境 — 客户端必须加入域
- 域控制器 — 运行 Windows Server 2012 R2 或更高版本
- 架构更新 — AD 架构需要包含激活对象类(默认已包含)
- 权限 — 需要域管理员权限配置 AD 激活
- 产品支持 — Windows 8.1/10/11、Windows Server 2012 R2 及更高版本
# 检查 AD 架构版本(需要 AD Web Services)
Get-ADObject -Identity "CN=Schema,CN=Configuration,DC=iehang,DC=cn" -Properties "objectVersion"
# Windows Server 2022 架构版本:88
# Windows Server 2019 架构版本:88
# Windows Server 2016 架构版本:87
# 架构版本 ≥ 87 即支持 AD 激活
4. 配置 AD 激活
AD 激活配置非常简单,只需在 任意域控制器 上运行命令。
以 域管理员 身份登录域控制器(DC01 或 DC02)
打开 命令提示符(管理员)
安装 KMS 主机密钥(KMS-HK) 到 AD:
REM 安装 KMS 主机密钥到 AD(只需运行一次)
REM 密钥从 VLSC 获取(KMS Host Key)
slmgr.vbs /ad-activation KMS_HOST_KEY
REM 示例(Windows Server 2022 Datacenter KMS-HK):
slmgr.vbs /ad-activation D6YCC-NH8T2-9Q9G7-88YBR-4DT4F
REM 验证 AD 中是否已存储激活对象
REM 在 AD 用户和计算机中启用"查看 → 高级功能"
REM 导航到:CN=Activation Objects,CN=Common Configuration,CN=Services,CN=Configuration,DC=iehang,DC=cn
slmgr.vbs /ad-activation 会将 KMS 主机密钥存储到 AD 中。只需在 一台域控制器 上运行,AD 复制会自动同步到所有域控制器。
5. 验证 AD 激活
REM 在域控制器上验证 AD 激活状态
slmgr.vbs /dlv
REM 输出应显示:
REM Description: Windows(R), ServerStandard edition
REM Active Directory Activation: Enabled
REM AD Activation Object Found: Yes
REM KMS Product Key: Enabled(如果同时配置了 KMS)
5.1 使用 ADSI Edit 查看激活对象
运行 adsiedit.msc 打开 ADSI 编辑器
右键 ADSI Editor → Connect to... → 选择 Configuration → 确定
导航到:CN=Activation Objects,CN=Common Configuration,CN=Services,CN=Configuration,DC=iehang,DC=cn
确认激活对象已创建(对象名称包含产品密钥后 5 位)
6. 客户端配置
AD 激活客户端配置 非常简单 — 只需安装 CSVLK,客户端会自动查找 AD 中的激活对象。
REM 在客户端上以管理员身份运行
REM 1. 安装 CSVLK(KMS 客户端密钥)
slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
REM 2. 清除 KMS 服务器设置(使用 AD 激活时不需要 KMS 服务器)
slmgr.vbs /ckms
REM 3. 触发激活
slmgr.vbs /ato
REM 4. 验证激活状态
slmgr.vbs /dlv
客户端加入域后,会自动查询 AD 中的激活对象。无需配置 KMS 服务器地址(slmgr.vbs /skms)。
如果客户端无法激活,检查:
- 客户端是否已加入域
- 能否联系域控制器(ping DC01)
- AD 中是否已存储激活对象(参见第 5.1 节)
6.1 批量配置客户端(GPO)
# AD 激活无需特殊 GPO 配置
# 客户端安装 CSVLK 后会自动查找 AD 激活对象
# 如果需要批量安装 CSVLK,可以使用:
# 1. VAMT 工具(参见第 4 篇)
# 2. 组策略启动脚本
# 3. SCCM 或 MDT 部署时预装 CSVLK
7. 常见问题
可以。 可以在 AD 中配置 AD 激活,同时保留 KMS 主机。
客户端会优先尝试 AD 激活,如果失败再尝试 KMS 激活。
生产环境推荐 同时使用 AD 激活和 KMS:
- 域客户端使用 AD 激活(永久激活)
- 非域客户端使用 KMS 激活
排查步骤:
- 确认已在域控制器上运行
slmgr.vbs /ad-activation <KMS_HOST_KEY> - 使用 ADSI Edit 检查激活对象是否已创建(参见 5.1 节)
- 检查 AD 复制是否正常(运行
repadmin /showrepl) - 确认客户端已加入域(运行
systeminfo | findstr /B /C:"Domain")
不会。 AD 激活和 KMS 激活可以共存。
如果同时配置了 AD 激活和 KMS:
- 域客户端优先使用 AD 激活
- 非域客户端使用 KMS 激活
- 两者互不干扰