前言
批量激活是 Microsoft 批量许可客户用于自动化和管理跨大型组织激活 Windows 操作系统、Microsoft Office 和其他 Microsoft 产品的过程。
主要包括两种不同的模式:一种是密钥管理服务(Key Management Service ,KMS),另一种是多次激活密钥(Multiple Activation Key,MAK)。
KMS是Microsoft从Windows Vista开始推出的一种新型产品激活机制。在Windows Server 2012版本之后,作为一种角色存在,其基本不占用系统资源,因此不必配置专用服务器。
KMS和MAK的不同之处
KMS方式
- 采用C/S方式管理激活
- 局域网至少存在一台KMS主机
- 服务端已安装KMS Key
- 客户端已安装VOL Key
- 已达到最低激活数量阈值(客户端>=25,Server|Office>=5)
- 激活后每7天检查一次状态,每180天重新激活一次
客户端在30天豁免期(grace period)期间内,每2小时检查一次状态,直至kms激活
MAK方式
通过Microsoft的托管激活服务进行一次性激活
- 通过Internet或电话方式激活
- 激活一次,密钥数量减少一次
可将密钥封装至无人参与安装文件Unattend.xml,以进行激活
KMS工作原理
KMS激活需要TCP / IP连接。默认情况下,KMS主机和客户端计算机使用DNS来发布和查找KMS服务。KMS服务使用DNS中的服务(SRV)资源记录(RR)来存储和传送KMS主机的位置。KMS客户端第一次向DNS查询KMS服务信息时,它会从DNS返回的SRV RR列表中随机选择一个KMS主机(若存在多个KMS主机)。
要激活KMS客户端,它必须拥有一个称为GVLK(通用批量许可证密钥)的特殊公共KMS密钥。指定GVLK后,KMS客户端会尝试在DNS中查找与KMS服务器对应的SRV记录并激活。
以下是最新Microsoft产品的公共KMS密钥(GVLK)列表:
· 适用于Windows 7 / Windows Server 2008/2008 R2的GVLK#windows-7-and-windows-server-2008-r2)
· 适用于Windows 8.1和Windows Server 2012 R2的GVLK#windows-server-2012-r2-and-windows-81)
· 适用于Windows Server 2016的GVLK#windows-server-2016)
· 适用于Windows 10的GVLK#windows-10)
· MS Office 2019的GVLK
· MS Office 2016的GVLK
· MS Office 2013的GVLK #%E9%80%82%E7%94%A8%E4%BA%8E-office-2013-%E7%9A%84%E9%80%9A%E7%94%A8%E6%89%B9%E9%87%8F%E8%AE%B8%E5%8F%AF%E5%AF%86%E9%92%A5)
· MS Office 2010的GVLK安装KMS主机
KMS 主机可以在运行任何受支持的 Windows 操作系统的物理计算机或虚拟机上运行。 运行 Windows Server2008R2之后版本上 的 KMS 主机可以激活支持批量激活的任何 Windows 客户端或服务器操作系统。 运行在 Windows10 的 KMS 主机只能激活运行 Windows 10、Windows 8.1、Windows8、Windows7 或 Windows Vista 的计算机。
单个 KMS 主机可以支持无限数量的 KMS 客户端,但出于故障转移的目的,Microsoft 建议最少部署两个 KMS 主机。
Windows 10 安装步骤:打开提升的命令提示符。
- 输入以下命令之一。
- 若要安装 KMS 密钥,键入 slmgr.vbs /ipk
- 若要联机激活,键入 slmgr.vbs /ato
- 若要使用电话激活,键入 slui.exe 4
- 若要安装 KMS 密钥,键入 slmgr.vbs /ipk
- 激活 KMS 密钥后,重新启动软件保护服务。
- net stop slsvc && net start slsvc
Windows Server 2012 安装步骤:
- 使用具有本地管理凭据的帐户登录到运行 WindowsServer 2012 R2 的计算机。
- 启动服务器管理器。
- 添加批量激活服务角色,如图:
- 角色安装完成之后,可启动“批量激活工具”,进行基本配置,配置步骤如图:
- 选择激活方式,进行激活KMS Key。
KMS 主机配置完成,它将开始侦听激活请求。 不过,在未达到激活阈值之前它将无法成功激活客户端。
KMS发现搜索顺序
启用KMS自动发现(默认)并且未禁用KMS主机缓存时,KMS客户端将使用以下顺序确定要使用的KMS(他们将尝试每个步骤,直到具有正确密钥的激活KMS主机响应):
- REG_SZ注册表值中的SKU特定值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\``AppID``\``SKUID``\KeyManagementServiceName``
- REG_SZ注册表值中的AppID特定值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\``AppID``\KeyManagementServiceName``
- REG_SZ注册表值中的全局值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\KeyManagementServiceName``
注:
- SKU特定的缓存KMS主机(这是上次成功激活KMS时使用的主机的缓存标识)
- DNS自动发现(权重和优先级)
KMS的激活过程
- KMS 主机安装完成后,更新 DNS 中的SRV资源记录以使客户端能够找到 KMS 主机。 (如果你的环境不支持 DNS 动态更新协议,则需手动添加 DNS 记录)
2. KMS客户端计算机从配置的注册表项或DNS中的KMS SRV记录(_vlmcs._tcp)发现KMS主机;
3. 客户端通过1688 / TCP(默认设置)向KMS主机发送一个RPC数据包请求;
4. KMS主机将客户端ID添加到表中,客户端 ID 仅用于确定是否满足激活阈值;
5. KMS 主机向客户端发送回一个数据包。 此数据包包含从该 KMS 主机请求激活的计算机数量的计数;
6. 如果计数超过要激活的产品的激活阈值,则激活客户端。 反之,客户端将继续重试。
激活流程图示:常用激活命令
slmgr.vbs称为软件许可证管理器,是用于配置和检索批量激活客户端信息的脚本。Slmgr.vbs脚本无法跨平台工作,及无法从Vista系统管理Windows 7 或 Windows Server 2008 R2系统。要管理远程客户端,请使用批量激活管理工具(VAMT)1.2或更高版本,或创建了解平台之间差异的自定义WMI脚本。
OSPP全称为:Office Software Protection Platform,Office软件保护平台脚本。它是目前Office自身提供的激活管理工具。
Cscript.exe和WScript.exe是Windows系统中的脚本运行引擎,WScript.exe基于GUI方式运行,Cscript.exe基于命令行方式运行。
PS:请以提权的方式运行slmgr和ospp。
slmgr常用选项
KMS客户端命令
- 重置授权状态:slmgr /rearm(重启生效)
- 卸载产品密钥:slmgr /upk
- 从注册表清除密钥:slmgr /cpky
- 安装产品密钥:slmgr /ipk
- 指定KMS主机:slmgr /skms
- 在线自动激活:slmgr /ato
- 查看激活状态:slmgr /dlv | /dli
- 查看许可证过期时间:slmgr /xpr
-
OSPP常用选项
该脚本位于Office安装目录C:\Program File<(x86)>\Microsoft Office\Office xx
office16是office 2016或2019 office15是Office 2013 office14是Office 2010
指定KMS主机:cscript ospp.vbs /sethst:
- 激活:cscript ospp.vbs /act
- 查看激活信息:cscript ospp.vbs /dstatus
- 删除KMS主机:cscript ospp.vbs /remhst
- 重置授权状态:cscript ospp.vbs /rearm
- 卸载产品密钥: cscript ospp.vbs /unpkey:xxxxx
- 安装/替换产品密钥: cscript ospp.vbs /inpkey:xx-xx-xx-xx
批量激活管理工具VAMT
VAMT 使网络管理员和其他IT专业人员能够自动化和集中管理Windows,Microsoft Office。其为Windows 评估和部署工具包 (ADK) 的一部分,并需要数据库的支持。VAMT可以使用多个激活密钥(MAK)或 Windows密钥管理服务(KMS)来管理卷激活。
VAMT 需要所有管理的计算机的本地管理员权限,以便存放确认 ID (CID)、获取客户端产品的许可证状态以及安装产品密钥。VAMT是一个标准的Microsoft管理控制台(MMC)管理单元,需要Microsoft管理控制台(MMC)3.0。
VAMT可以安装在具有以下Windows操作系统之一的任何计算机上:
- 在主计算机安装VAMT;
- 在目标计算机上配置 Windows Management Instrumentation (WMI)防火墙例外;
- VAMT 须拥有Active Directory域的管理权限;
- 要检索产品许可证状态,VAMT 必须拥有远程计算机的管理权限;
- 对于工作组计算机,必须创建注册表项,以便执行用户帐户控制 (UAC) 项下的远程管理操作;
VAMT用户界面
可执行的主要激活相关任务:
- 添加和删除计算机:
- 可以通过AD DS,工作组,按个人计算机名称或IP地址或通过常规LDAP查询来发现计算机。
- 发现产品:
- 可以发现Windows,Windows Server,Office,并选择客户端计算机上安装的其他产品。
- 监控激活状态:
- 可以收集包括正在使用的产品密钥的最后5个字符,当前许可证状态(例如许可,宽限期,未许可)和产品版本信息。
- 管理产品密钥:
- 可以存储多个产品密钥并将其安装到远程客户端产品。还可以确定MAK密钥剩余的激活次数。
- 管理激活数据:
- 激活数据存储在SQL数据库中,并可将此数据导出到其他VAMT主机或XML格式的存档。
参考链接
https://docs.microsoft.com/en-us/previous-versions/tn-archive/ff793434(v=technet.10))
https://docs.microsoft.com/en-us/previous-versions/tn-archive/ee939272(v=technet.10))
https://docs.microsoft.com/zh-cn/windows/deployment/volume-activation/introduction-vamt
官方部署文档:
Volume_Activation_Deployment_Guide_Windows7.docx