0xC004F074
Windows 激活错误代码 · 最后更新 2026-11-03 · 来源:微软官方文档(见页底)
一句话:KMS 主机在请求时不可用,客户端联系不到激活服务(未收到应答)。常见于 KMS 主机名填写或解析异常、1688 端口连不通,或 KMS 主机的软件保护平台服务未运行。
官方口径
| 0xC004F074 | 0xC004F074 The Software Protection Service reported that the computer could not be activated. No Key Management Service (KMS) could be contacted. Please see the Application Event Log for additional information. KMS client To resolve the errors, see the following causes of each error message and trou |
一句话含义
客户端软件保护服务无法与组织内的密钥管理服务(KMS)主机建立网络连接或完成会话握手。
常见原因(按排查概率从高到低,3-5 条)
- DNS SRV 记录缺失或指向失效主机:客户端无法通过 DNS 自动定位到有效的
_vlmcs._tcp记录,或解析到了已下线的历史 KMS 主机 IP。 - 网络或防火墙阻断 TCP 1688 端口:客户端与 KMS 主机之间的本地 Windows 防火墙、网络设备 ACL 或安全组未放行入站/出站 1688 端口。
- 客户端与 KMS 主机时钟偏差过大:双方系统时钟偏差超过 Kerberos/安全 RPC 容忍阈值(通常超过 4 小时),导致通信被握手安全机制拒绝。
- KMS 主机服务未处于正常监听状态:KMS 服务器上的 Software Protection 服务(sppsvc)处于停止状态,或绑定的网卡未对外监听。
管理员检查顺序(编号步骤,每步写清看什么、什么结果说明什么)
- 查看客户端激活诊断信息与事件日志
- 运行命令:
cscript slmgr.vbs /dlv - 看什么:弹出窗口中“最近激活错误”及“已配置的 KMS 主机名”。若提示无法连接且主机名为空,说明依赖 DNS 自动发现;若存在具体主机名,说明曾被静态指定。
- 检查事件日志:在客户端打开“事件查看器”,定位到
应用程序日志,筛选事件来源Security-SPP。 - 若看到事件 ID 12288(客户端发送激活请求)但始终未出现事件 ID 12289(收到服务端应答),说明请求在网络链路中丢失或被拦截。
- 若事件 ID 12289 存在(已收到应答)但激活仍失败,不要只看该事件下结论,结合 12289 的结果代码与第 4 步的时钟偏差结果再定位是否为时间同步问题。
- 验证 DNS 自动发现记录
- 运行命令:
nslookup -type=srv _vlmcs._tcp - 看什么:返回的 KMS 主机完全限定域名(FQDN)与端口号(默认 1688)。
- 若返回
Non-existent domain,说明 DNS 区域内未发布或丢失 SRV 记录。 - 若返回的 IP/主机名是已废弃的旧服务器,说明 DNS 存在陈旧记录误导客户端。
- 测试端到端端口连通性
- 运行命令(PowerShell):
Test-NetConnection -ComputerName <KMS主机FQDN或IP> -Port 1688 - 看什么:输出中的
TcpTestSucceeded字段。 - 若为
True,说明网络层与端口连通正常,问题在应用层/时钟。 - 若为
False,说明链路路由不可达、目标 IP 错误,或沿途防火墙拦截了 1688 端口。
- 比对系统时钟与时间偏差
- 运行命令:
w32tm /query /status - 看什么:参考源与本地时间。与 KMS 主机当前绝对时间对照。
- 若双方时间相差超过 4 小时,说明时钟偏差直接阻断了安全握手。
- 检查 KMS 服务端工作状态(若前序网络均正常)
- 在 KMS 主机运行:
cscript slmgr.vbs /dli - 看什么:检查 KMS 监听状态及授权状态是否正常。若服务停止或未正确安装 KMS 宿主密钥(CSVLK),服务端将无法处理客户端请求。
处理方法(对应上面的原因,给具体做法)
- 修复或发布 DNS SRV 记录
- 在域控 DNS 控制台中,展开对应正向查找区域,检查是否存在
_tcp目录下的_vlmcs记录。 - 若缺失,可在已配置为 KMS 的主机上重启软件保护服务(或在提升权限的命令提示符执行
net stop sppsvc && net start sppsvc),服务会自动在具备动态更新权限的 DNS 中重新注册 SRV 记录;亦可在 DNS 管理器中手动添加 SRV 记录,服务名填_vlmcs,协议选_tcp,端口设为1688,目标主机指向 KMS 的真实 FQDN。
- 放行网络安全边界上的 TCP 1688 流量
- 在 KMS 主机上,确认高级安全 Windows Defender 防火墙已启用内置规则“密钥管理服务 (TCP-In)”。
- 若网络跨网段、跨 VLAN 或跨云端 VPC,在网关路由器、核心交换机 ACL 或云端网络安全组中添加规则:源地址设为内网客户端子网,目标地址设为 KMS 主机 IP,协议设为 TCP,目标端口设为 1688。
- 强制同步客户端与 KMS 主机系统时间
- 检查客户端时区设置是否正确(避免跨时区显示时间正确但 UTC 绝对时间偏差)。
- 在客户端执行
w32tm /resync /force强制与域控 NTP 时间源校准。若为未加域的工作组设备,手动将时钟与内网权威 NTP 服务器调整至一致。
- 清理客户端陈旧的静态指向并恢复自动发现
- 若客户端曾被指定过已失效的 KMS 节点,运行
cscript slmgr.vbs /ckms清除静态 KMS 缓存,使其恢复通过 DNS SRV 动态寻找在线主机。
处理后如何验证(1-3 条)
- 触发客户端立即激活:在客户端以管理员身份运行
cscript slmgr.vbs /ato,观察命令返回结果是否提示“产品已成功激活”。 - 确认许可状态与有效期限:运行
cscript slmgr.vbs /xpr,确认弹出信息显示该系统处于批量激活过期倒计时(通常为 180 天),代表与 KMS 主机完整周期握手成功。 - 核对事件日志确认闭环:检查客户端
Security-SPP日志,确认生成事件 ID 12289 且结果代码显示为 0x0。
常见误操作(2-3 条,写管理员最容易做错的事)
- 滥用
/skms强行指定单点 IP:遇到连接失败不排查 DNS,直接给客户端批处理绑定单台 KMS 的 IP 地址。一旦该主机维护、灾备切换或更换 IP,会导致全局客户端无法平滑故障转移,续期阶段再次大面积报错。 - 排查网络时误判 ICMP 与端口状态:仅通过
ping <KMS主机>畅通就断定网络没有问题,忽视了 ICMP 与 TCP 1688 分属不同规则,导致方向偏离。 - 粗暴关闭防火墙破坏安全基线:遇到网络不通直接整机禁用 Windows 防火墙,不仅违反组织安全合规策略,且无法解决上层路由器与子网 ACL 的阻断。
===
官方来源与关联错误码
本页诊断顺序为第三方整理,定义与处置以微软官方文档为准:疑难解答页:微软官方错误码页。
适用前提:本页面向持有合法批量授权、使用组织内自有 KMS 主机的管理员。GVLK 是公开的客户端安装密钥,不是许可证;本站不提供 KMS 主机地址,也没有一键激活工具。