1. 安装 Volume Activation 角色
KMS 主机需要安装 Volume Activation 角色(Windows Server 2016 及以后版本)。
打开 服务器管理器 → 点击 添加角色和功能
安装类型选择 基于角色或基于功能的安装 → 下一步
服务器选择 从服务器池中选择服务器 → 选择本机 → 下一步
在 选择服务器角色 页面,勾选 批量激活服务(Volume Activation Services) → 添加功能 → 下一步
默认勾选 批量激活工具(VAMT) → 下一步 → 安装
安装完成后点击 关闭
# 安装 Volume Activation 角色(包含 VAMT)
Install-WindowsFeature -Name "VolumeActivation" `
-IncludeManagementTools
# 验证安装
Get-WindowsFeature -Name "VolumeActivation"
# 输出应显示:
# Display Name: Volume Activation Services
# Name: VolumeActivation
# Install State: Installed
Volume Activation 角色安装后,可以使用 slmgr.vbs 脚本管理 KMS 主机,同时会安装 VAMT(Volume Activation Management Tool)用于批量管理。
2. 配置 KMS 主机密钥
安装 Volume Activation 角色后,需要安装 KMS 主机密钥(KMS-HK)。
REM 安装 KMS 主机密钥(需要管理员权限运行 CMD)
REM 密钥从 VLSC 或 Microsoft Business Center 获取
slmgr.vbs /ipk KMS_HOST_KEY
REM 示例(Windows Server 2022 Datacenter KMS Host Key):
slmgr.vbs /ipk D6YCC-NH8T2-9Q9G7-88YBR-4DT4F
REM 如果需要,可以安装多个产品的 KMS 密钥(Windows + Office)
REM Windows Server 2022 KMS 密钥
slmgr.vbs /ipk WS2022_KMS_KEY
REM Office 2021 KMS 主机密钥(需要先安装 Office 2021 KMS 主机包)
REM 见第 8 篇文章
KMS 主机密钥(KMS-HK)不同于 KMS 客户端密钥(CSVLK)。KMS-HK 用于激活 KMS 主机本身,CSVLK 用于配置客户端指向 KMS 主机。
实验环境可以使用微软提供的 测试密钥(N 版),但不会真正激活。正式环境必须使用从 VLSC 获取的正式密钥。
3. 激活 KMS 主机
安装 KMS 主机密钥后,需要激活 KMS 主机。可以选择在线激活或电话激活。
REM 在线激活 KMS 主机(需要互联网连接)
slmgr.vbs /ato
REM 如果无法联网,使用电话激活
REM 1. 获取安装 ID
slmgr.vbs /dti
REM 2. 拨打微软激活中心电话,提供安装 ID
REM 3. 获取确认 ID 后,使用以下命令激活
slmgr.vbs /atp CONFIRMATION_ID
REM 验证激活状态
slmgr.vbs /dlv
KMS 主机激活后,会发布 SRV 记录到 DNS(_vlmcs._tcp.domain.com),客户端可以通过 DNS 自动发现 KMS 主机。
如果 DNS 记录未自动创建,参见第 7 篇文章手动配置 DNS SRV 记录。
4. 验证 KMS 主机状态
REM 查看详细的 KMS 激活信息
slmgr.vbs /dlv
REM 输出示例:
REM Description: Windows(R), ServerStandard edition
REM Edition ID: ServerStandard
REM Active Directory Activation: Not enabled
REM KMS Product Key: Enabled
REM KMS Machine: KMS 主机名
REM KMS Machine Registry: ...
REM Current Count: 0 (当前激活客户端数量)
REM Listening on Port: 1688
REM DNS publishing enabled: Yes
REM 查看简要激活信息
slmgr.vbs /dli
4.1 检查 KMS 服务监听端口
# 检查 TCP 1688 端口是否在监听
Get-NetTCPConnection -LocalPort 1688 -State "Listen"
# 使用 netstat 检查
netstat -an -p "TCP" -ErrorAction "SilentlyContinue" | Select-String "1688"
# 测试 KMS 主机响应
Test-NetConnection -ComputerName "localhost" -Port 1688
5. 配置 KMS 客户端激活策略
KMS 主机配置完成后,需要配置客户端指向 KMS 主机。有两种方式:
- DNS 自动发现 — KMS 主机发布 SRV 记录,客户端自动查找(推荐)
- 手动指定 KMS 主机 — 使用
slmgr.vbs /skms或组策略
REM 在客户端上运行(需要管理员权限)
REM 指定 KMS 主机地址(FQDN 或 IP)
slmgr.vbs /skms kms.iehang.cn
REM 或者使用 IP 地址
slmgr.vbs /skms 192.168.10.254
REM 触发激活
slmgr.vbs /ato
REM 查看激活状态
slmgr.vbs /dlv
可以通过 GPO 批量配置客户端 KMS 主机地址:
计算机配置 → 策略 → 管理模板 → 系统 → 激活 → 指定 KMS 主机服务器
设置为 kms.iehang.cn 或 192.168.10.254
6. 常见问题
这个错误表示 KMS 激活阈值未达到。需要至少 25 台 Windows 客户端(或 5 台 Server)请求激活。
实验环境解决方法:
- 快速克隆多台 Windows 10 虚拟机(使用 Sysprep 通用化)
- 修改注册表跳过阈值检查(仅用于实验)
检查以下设置:
- KMS 主机的 DNS 指向正确的 DNS 服务器(通常是域控)
- 运行
slmgr.vbs /dlv检查 "DNS publishing enabled" 是否为 "Yes" - 如果为 "No",运行
slmgr.vbs /dns启用 DNS 发布 - 手动创建 DNS SRV 记录(参见第 7 篇文章)
排查步骤:
- 检查防火墙是否开放 TCP 1688 端口(KMS 默认端口)
- 使用
Test-NetConnection -ComputerName kms.iehang.cn -Port 1688测试连通性 - 检查客户端是否使用了正确的 KMS 客户端密钥(CSVLK)
- 运行
slmgr.vbs /dlv查看详细错误信息