🏢 Active Directory 激活

批量激活服务 KMS · 第 6 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. 1. 什么是 AD 激活
  2. 2. AD 激活 vs KMS 对比
  3. 3. AD 激活前提条件
  4. 4. 配置 AD 激活
  5. 5. 验证 AD 激活
  6. 6. 客户端配置
  7. 7. 常见问题

1. 什么是 AD 激活

AD 激活(Active Directory-Based Activation, ADBA)是微软从 Windows Server 2012 R2 和 Windows 8.1 开始引入的激活方式。

AD 激活将激活对象存储在 Active Directory 数据库中,而不是使用独立的 KMS 主机。客户端通过 查询 AD 来获取激活信息。

💡 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 激活前提条件

PowerShell - 验证 AD 架构版本
# 检查 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 激活配置非常简单,只需在 任意域控制器 上运行命令。

1

域管理员 身份登录域控制器(DC01 或 DC02)

2

打开 命令提示符(管理员)

3

安装 KMS 主机密钥(KMS-HK) 到 AD:

CMD - 配置 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 激活

CMD - 验证 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 查看激活对象

1

运行 adsiedit.msc 打开 ADSI 编辑器

2

右键 ADSI EditorConnect to... → 选择 Configuration → 确定

3

导航到:CN=Activation Objects,CN=Common Configuration,CN=Services,CN=Configuration,DC=iehang,DC=cn

4

确认激活对象已创建(对象名称包含产品密钥后 5 位)

6. 客户端配置

AD 激活客户端配置 非常简单 — 只需安装 CSVLK,客户端会自动查找 AD 中的激活对象。

CMD - 客户端配置 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)。

如果客户端无法激活,检查:

  1. 客户端是否已加入域
  2. 能否联系域控制器(ping DC01)
  3. AD 中是否已存储激活对象(参见第 5.1 节)

6.1 批量配置客户端(GPO)

GPO - 配置客户端使用 AD 激活
# AD 激活无需特殊 GPO 配置
# 客户端安装 CSVLK 后会自动查找 AD 激活对象

# 如果需要批量安装 CSVLK,可以使用:
# 1. VAMT 工具(参见第 4 篇)
# 2. 组策略启动脚本
# 3. SCCM 或 MDT 部署时预装 CSVLK

7. 常见问题

Q1:AD 激活和 KMS 可以同时使用吗?

可以。 可以在 AD 中配置 AD 激活,同时保留 KMS 主机。

客户端会优先尝试 AD 激活,如果失败再尝试 KMS 激活。

生产环境推荐 同时使用 AD 激活和 KMS

  • 域客户端使用 AD 激活(永久激活)
  • 非域客户端使用 KMS 激活
Q2:客户端提示"未找到 AD 激活对象"

排查步骤:

  1. 确认已在域控制器上运行 slmgr.vbs /ad-activation <KMS_HOST_KEY>
  2. 使用 ADSI Edit 检查激活对象是否已创建(参见 5.1 节)
  3. 检查 AD 复制是否正常(运行 repadmin /showrepl
  4. 确认客户端已加入域(运行 systeminfo | findstr /B /C:"Domain"
Q3:AD 激活会影响现有的 KMS 激活吗?

不会。 AD 激活和 KMS 激活可以共存。

如果同时配置了 AD 激活和 KMS:

  • 域客户端优先使用 AD 激活
  • 非域客户端使用 KMS 激活
  • 两者互不干扰