板块:Windows 激活最后更新:2026-10-25内容依据:微软官方公开文档
Windows Server KMS 主机完整部署指南
从零到一:装角色、导 CSVLK、发 SRV、放端口、VAMT 管理、监控与排障。面向已持有微软批量授权协议的组织。
前置条件(不满足请止步)
部署 KMS 主机需要 CSVLK(KMS 主机密钥),它只发放给签署批量授权协议的组织(Open / Open Value / Select / Enterprise 等),
在 Microsoft 365 管理中心或 VLSC 批量许可服务中心获取。没有协议就没有合法主机密钥;
在无协议前提下自建"KMS 主机"或用第三方公网 KMS,均属绕过授权的违规行为。详见 授权条款解读。
架构总览
数据流
批量授权协议 → VLSC 拿 CSVLK → 装到 KMS 主机(Server)→ 主机联网激活自身 → DNS 自动发布 SRV
_vlmcs._tcp →
客户端(已内置/手动装 GVLK)发现主机 → 每 2 小时尝试、成功后每 7 天续订 → 180 天有效期内循环。
| 组件 | 要求 |
|---|---|
| KMS 主机系统 | Windows Server 2016 / 2019 / 2022 / 2025(建议当前受支持版本;2026 年 8 月起新主机需支持 TPM 2.0 检测) |
| 主机密钥 | CSVLK(VLSC / M365 管理中心 → 批量许可 → 下载密钥) |
| 网络 | 内网 TCP 1688 入站放行;客户端到主机可达 |
| DNS | 域内 DDNS 可用(自动发布 SRV);无域环境需手动创建 SRV 记录 |
| 客户端 | 批量授权版 Windows(已内置 GVLK,见 官方密钥表) |
| 阈值 | 客户端 OS 25 台 / 服务器 OS 5 台(低于阈值主机不激活) |
部署五步
- 安装「批量激活服务」角色:服务器管理器 → 添加角色和功能 → 功能里勾选 Volume Activation Services(会连带安装 IIS 依赖)。装完在工具菜单出现「批量激活工具(VAMT)」。
- 导入 CSVLK 并激活主机:打开 VAMT(或批量激活工具),选择 KMS 激活方式,输入 VLSC 获取的 CSVLK,联网激活;无外网环境用电话激活。
- 确认 DNS SRV 发布:域内且 DDNS 正常时自动发布
_vlmcs._tcp.<域名>→ 主机:1688。无域环境手动建 SRV 记录。 - 放行防火墙:主机入站 TCP 1688(或你自定义的端口)。云环境还要在安全组放行。
- 客户端验证:任选一台客户端执行
slmgr /ato,随后slmgr /dlv看通道与状态、slmgr /xpr看到期日。
主机侧命令速查
KMS 主机(管理员)
rem === 安装主机密钥(CSVLK,从 VLSC 获取,勿用网上流传的) ===
slmgr /ipk <CSVLK>
rem === 联机激活主机自身 ===
slmgr /ato
rem === 查看主机状态与激活计数(关注 Current Count) ===
slmgr /dlv
rem === 修改监听端口(默认 1688,改后需同步防火墙) ===
slmgr /sprt 1689
rem === DNS SRV 自动发布的开关 ===
slmgr /sdns rem 启用自动发布
slmgr /cdns rem 禁用自动发布
rem === 卸载主机密钥(更换密钥前) ===
slmgr /upk
客户端侧命令
KMS 客户端(管理员)
rem 1. 安装与当前版本匹配的 GVLK(批量授权版通常已内置,零售版转 KMS 才需要)
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX rem 例:Win10/11 专业版
rem 2. 手动指定主机(DNS 自动发现正常时不需要;地址填内网主机名)
slmgr /skms kms.corp.example.com:1688
rem 3. 立即激活
slmgr /ato
rem 4. 验证:通道应为 VOLUME_KMSCLIENT,xpr 显示 180 天到期日
slmgr /dlv
slmgr /xpr
rem 改回自动发现
slmgr /ckms
无域环境:手动创建 SRV 记录
工作组/无 DDNS 环境,客户端无法自动发现主机,需在 DNS 服务器手动添加(或用 dnscmd):
dnscmd 示例
rem 语法:dnscmd <DNS服务器> /RecordAdd <区域> _vlmcs._tcp SRV 优先级 权重 端口 主机FQDN
dnscmd 127.0.0.1 /RecordAdd corp.example.com _vlmcs._tcp SRV 0 0 1688 kms.corp.example.com
优先级 0 权重 0 表示单台主机;多台主机用不同权重分流。客户端验证:nslookup -type=srv _vlmcs._tcp.corp.example.com。
监控与日常运维
| 手段 | 看什么 |
|---|---|
slmgr /dlv(主机) | Current Count:当前激活计数,接近阈值说明新机在正常接入 |
| 事件查看器(主机) | 应用程序和服务日志 → Microsoft → Windows → SoftwareProtectionPlatform → 激活请求明细、失败原因 |
| VAMT 控制台 | 批量查询所有客户端激活状态、MAK 余量、导出报表(合规审计直接出) |
| PowerShell | Get-WmiObject -Class SoftwareLicensingProduct | Where-Object {$_.PartialProductKey} 查本机状态 |
| 网络监控 | TCP 1688 连通性探测(Test-NetConnection kms.corp.example.com -Port 1688) |
排障清单
| 现象 | 排查顺序 |
|---|---|
| 客户端找不到主机 (0x8007232B / 0xC004F074) | ① nslookup -type=srv _vlmcs._tcp ② DNS 服务与区域是否含该记录 ③ 主机 1688 是否放行 ④ 客户端 DNS 是否指向内网 DNS |
| 报 0xC004F038(计数不足) | 正常设计:未达 25/5 阈值,或主机自身未激活。确认主机 slmgr /dlv 状态为 Licensed |
| 报 0xC004F00F | GVLK 与安装版本不匹配:winver 核对版本,从 官方表重装对应 GVLK |
| 计数不涨 | 主机事件日志 SoftwareProtectionPlatform 看请求是否到达;到不了就是网络/DNS,到了不激活是密钥/版本问题 |
| 全部客户端同时失效 | 主机宕机或主机密钥失效。先恢复主机,客户端回内网后自动恢复;这就是要一主一备的原因 |
| 时间类报错 0x80072F8F | 先校时,再查代理防火墙 |
2026 年新变化:KMS 主机要验 TPM
微软正为 KMS 引入硬件信任机制:自 2026 年 8 月起,Windows Server 2025 先行引入 TPM 芯片检测;
从下一个 Windows Server 长期服务通道版本起,TPM 2.0 认证将成为强制要求。规划新主机时请预留支持 TPM 2.0 的硬件。
不要做的事
- 不要把 KMS 主机暴露到公网——替全网盗版提供激活服务,协议将被追责
- 不要填网上流传的第三方公网 KMS 地址——微软明确不认可,且这些地址常被用于投递恶意流量
- 不要在没签批量授权协议的情况下"自建 KMS 主机"——没有合法 CSVLK 的任何实现本质都是绕过授权
常见问题
FAQKMS 主机必须用 Windows Server 吗?
生产环境必须。Windows Server 的"批量激活服务"角色提供完整的主机能力(激活计数、SRV 发布、VAMT 管理)。Windows 10/11 可临时充当 KMS 主机,但微软明确不建议用于生产,且不支持角色化管理。
KMS 主机需要公网 IP 或固定域名吗?
都不需要。主机只需在内网可达:客户端通过 DNS SRV 记录(_vlmcs._tcp.<域名>)或手动 slmgr /skms 指定发现它。把主机暴露到公网属于违规行为,等于替全网盗版提供激活服务。
激活计数一直不涨怎么排查?
按顺序查:① 客户端是否正确装上了匹配版本的 GVLK(不匹配报 0xC004F00F)② 客户端到主机 TCP 1688 是否通(Test-NetConnection)③ 主机自身是否已激活(未激活的主机不计数)④ 事件查看器 SoftwareProtectionPlatform 日志看请求是否到达。
两台 KMS 主机负载怎么分?
KMS 客户端会随机选择一台可达主机,无需配置。建议部署一主一备(两台都装 CSVLK 并激活),DNS SRV 记录同时指向两台,客户端按 50/50 分流;单台宕机时客户端自动切到另一台续订。
内容依据(官方来源)
延伸阅读
- 企业批量激活总览(MAK/KMS/ADBA 选型) — 三条路径怎么选
- GVLK 官方密钥表 — 54 条
- slmgr 命令速查 — 全部参数
- ADBA 专题 — 有 AD 域可省掉主机
- 授权条款解读 — 合规边界