KMS虚拟机命令主要分两条线:Windows用slmgr.vbs,Office用ospp.vbs;核心动作就是装密钥、指KMS主机、触发激活、查状态。 在虚拟机里操作和物理机几乎一样,差别主要在虚拟网络、快照克隆和授权合规,下面按场景把命令和用法讲清楚。
KMS虚拟机命令有哪些?先分清Windows与Office两条线
KMS激活不是一条命令打天下,Windows系统、Office套件、KMS主机端各自有工具,搞混了,命令敲再多也白费。
- Windows客户端:
slmgr.vbs /ipk、/skms、/ato、/dlv、/xpr、/rearm、/cpky - Office客户端:
ospp.vbs /sethst、/setprt、/inpkey、/act、/dstatus、/remhst - KMS主机端:
slmgr /ipk、/spckms、/sdns、/act、/dlv
Windows命令在管理员命令提示符或PowerShell里跑,Office命令要先进入Office安装目录,比如C:Program FilesMicrosoft OfficeOffice16,32位系统可能在Program Files (x86)下。
| 对象 | 工具 | 典型命令 | 作用 |
|---|---|---|---|
| Windows | slmgr.vbs | slmgr /ipk |
安装KMS客户端密钥 |
| Windows | slmgr.vbs | slmgr /skms |
指定KMS主机和端口 |
| Windows | slmgr.vbs | slmgr /ato |
触发激活 |
| Windows | slmgr.vbs | slmgr /dlv |
查看许可证详情 |
| Office | ospp.vbs | cscript ospp.vbs /sethst |
设置KMS主机 |
| Office | ospp.vbs | cscript ospp.vbs /act |
激活Office |
虚拟机激活Windows用什么KMS命令?核心四条
把下面四条按顺序走完,Windows客户端的KMS激活基本就通了。
- 以管理员身份打开命令提示符,按Win+X,选“终端(管理员)”或“命令提示符(管理员)”。
- 确认系统支持KMS:
slmgr /dlv,看描述里是否出现“KMS客户端”或“批量授权”。 - 安装对应版本的GVLK:
slmgr /ipk <你的版本GVLK>,密钥从微软官方文档获取,别乱填。 - 指定KMS主机:
slmgr /skms kms.example.com:1688,内网也可以写IP,但推荐域名。 - 触发激活:
slmgr /ato。 - 验证结果:
slmgr /dlv看是否“已授权”,slmgr /xpr看到期时间。
slmgr /ipk <GVLK> slmgr /skms kms.example.com:1688 slmgr /ato slmgr /dlv
如果组织已经配置了DNS SRV记录,可以省略/skms,直接slmgr /ato,自动发现失败时,再手动指定KMS主机。
如何使用KMS虚拟机激活命令?按场景走完六步
虚拟机里的命令本身不复杂,复杂的是网络和克隆,按这六步排查,能省不少时间。
- 确认授权合规,本文命令仅适用于你拥有合法批量许可或组织提供的KMS主机环境。
- 检查虚拟机网络,桥接模式最容易让虚拟机和KMS主机同网段;NAT模式要确认宿主机防火墙放行TCP 1688。
- 测试连通性,PowerShell执行:
Test-NetConnection kms.example.com -Port 1688,返回TcpTestSucceeded为True才算通。 - 同步时间,时间偏差过大会导致激活失败,执行
w32tm /resync。 - 执行slmgr命令,顺序是
/ipk、/skms、/ato。 - 克隆虚拟机先sysprep,执行
sysprep /generalize /oobe /shutdown,再重新开机激活,避免CMID重复。
据微软官方文档,KMS默认使用TCP 1688端口,防火墙、NAT、安全组只要拦住这个端口,slmgr /ato就会报“无法联系KMS”。
本地KMS服务器激活虚拟机怎么设置?客户端指向1688端口
如果你在局域网里自建KMS主机,虚拟机作为客户端要指向这台主机,KMS主机端常见命令如下。
- 在KMS主机上安装批量许可密钥:
slmgr /ipk <KMS主机密钥> - 设置KMS端口:
slmgr /spckms 1688 - 发布DNS SRV记录:
slmgr /sdns - 激活KMS主机:
slmgr /act - 查看状态:
slmgr /dlv
客户端侧可以手动指定:
slmgr /skms kms.local:1688 slmgr /ato
也可以在DNS里配置_vlmcs._tcp SRV记录,让客户端自动发现,记录指向KMS主机域名,端口1688,虚拟机使用桥接模式时,和物理机一样解析;使用NAT模式时,要确保虚拟机到KMS主机的路由和防火墙都通。
VMware、Hyper-V、VirtualBox的差异主要在虚拟交换机,桥接最省事,NAT需要额外检查宿主机入站规则,KMS主机在宿主机上时,虚拟机访问宿主机IP的1688端口,防火墙必须放行。
KMS激活Office和Windows命令区别在哪里?别混用ospp.vbs
Windows和Office的KMS命令不能互换,Windows用slmgr,Office用ospp.vbs,Office激活步骤通常如下。
- 进入Office安装目录,管理员命令提示符执行:
cd "C:Program FilesMicrosoft OfficeOffice16" - 设置KMS主机:
cscript ospp.vbs /sethst:kms.example.com - 设置端口:
cscript ospp.vbs /setprt:1688 - 安装Office GVLK:
cscript ospp.vbs /inpkey:<GVLK> - 触发激活:
cscript ospp.vbs /act - 查看状态:
cscript ospp.vbs /dstatus - 清除KMS设置:
cscript ospp.vbs /remhst
行业共识认为,批量授权环境下Windows和Office可以共用同一台KMS主机,但授权计数和版本匹配要分别管理,Office 2016、2019、2021的目录名可能都是Office16,具体以实际安装路径为准,Microsoft 365订阅版通常不走KMS,别把订阅激活和批量激活混在一起。
常见报错与排查:KMS虚拟机命令执行后不激活怎么办
命令敲完没激活,先看错误代码,下面几个是高频问题。
| 错误代码 | 常见原因 | 排查方向 |
|---|---|---|
| 0xC004F074 | 无法联系KMS主机 | 检查1688端口、防火墙、DNS |
| 0xC004F038 | KMS计数不足 | KMS主机需要足够客户端请求 |
| 0xC004F06C | 时间偏差过大 | 执行w32tm /resync |
| 0x8007232B | DNS找不到KMS | 检查SRV记录或手动/skms |
| 0xC004F015 | KMS主机未正确激活 | 检查主机密钥和激活状态 |
排查时按顺序做:
ping kms.example.com看解析和连通。Test-NetConnection kms.example.com -Port 1688看端口。nslookup -type=SRV _vlmcs._tcp.example.com看自动发现。slmgr /dlv看客户端详细状态。- 虚拟机克隆后未sysprep,重新执行
sysprep /generalize /oobe /shutdown。 - KMS主机未激活或授权版本不匹配,在主机端
slmgr /dlv确认。
业内专家指出,KMS客户端默认每7天尝试续期,授权有效期通常为180天,长期连不上KMS主机,系统会进入宽限期并最终失效,虚拟机快照回滚后,时间和服务状态可能异常,重新同步时间再slmgr /ato。
Q&A:KMS虚拟机命令有哪些与如何使用KMS虚拟机激活命令
KMS激活Windows需要联网吗?
需要能访问KMS主机,公网KMS主机也可以,但企业环境多用内网KMS,虚拟机无论桥接还是NAT,都要保证TCP 1688可达,没有KMS主机时,无法完成KMS激活。
虚拟机克隆后KMS命令提示已激活但失效怎么办?
克隆前执行sysprep /generalize /oobe /shutdown,清除CMID,克隆后重新开机,再执行slmgr /skms和slmgr /ato,如果已经克隆,也可以在新虚拟机里重新sysprep,或检查KMS主机端是否出现重复客户端记录。
KMS激活是永久的吗?
不是,据微软官方文档,KMS客户端默认授权期为180天,需要定期连接KMS主机续期,只要虚拟机保持能访问KMS主机,续期会自动完成;长期离线会逐渐进入通知和宽限期。
把命令记成“/ipk装密钥、/skms指主机、/ato触发、/dlv查状态”,虚拟机里再补上网络连通、时间同步和sysprep检查,KMS激活就能稳定跑起来,合法批量授权是使用KMS的前提。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/734134.html




