一、 KMS工作原理 KMS激活本地网络的操作系统,避免逐个连接到微软的激活计算机。由于这个缘故,KMS使用客户端/服务器架构完成。KMS客户端连接到KMS服务器,称为KMS主机,然后激活客户端,其中KMS主机存在于本地网络中。
KMS激活启动初始条件 KMS可以激活物理和虚拟的计算机,但是为了启动KMS,网络上必须具有最少数量的物理计算机,称之为激活启动初始条件。KMS客户端仅仅在激活启动初始条件达到后才会被激活。为了确保激活启动初始条件是否达到,KMS主机会统计网络中请求激活的物理计算机数量。该数量计算所有来自Windows 7 和 Windows Server 2008 R2 R2的激活请求。然而,这些操作系统须满足各自不同的条件后才会开始激活。Windows 7 KMS客户端初始条件是25台物理计算机,Windows Server 2008 R2 KMS客户端初始条件是5台物理计算机。虚拟机不包含在激活计数中,但是虚拟机可以在物理计算机初始条件达到后被激活。KMS主机响应来自KMS客户端的合法的激活请求,告知有多少台物理计算机向KMS主机发出了激活请求。收到未达到激活启动初始条件的计数的客户端不会被激活。例如,开始有两台安装Windows 7的物理计算机联系KMS主机,第一台计算机将接收到的激活计数为1,第二台计算机接收到的激活计数为2。如果下一台计算机是 Windows 7的虚拟机,那么它接收到的激活计数仍为2,因为只有物理计算机才可以增加激活计数。Windows 7 计算机必须接收到一个等于或者大于25的激活计数,否则不会被激活。由于激活计数不够而未激活的客户端,在默认情况下,每隔两小时会联系KMS主机收到一个新的计数。
如果下一台联系KMS主机的是一台安装Windows Server 2008 R2的物理机,那么它接收到的计数为3,因为激活计数是Windows 7 和 Windows Server 2008 R2计算机一同计算的。如果有一台Windows Server 2008 R2计算机,不管它是物理机还是虚拟机,接收到的激活数量是5或者更大,那么它将会被激活。如果是Windows 7计算机,不管是物理机还是虚拟机,接收到的激活数量是25或者更大,它将被激活。
激活计数缓存 为了计算激活启动初始条件,KMS主机会保存KMS客户端激活请求的记录。每个联系KMS主机的KMS客户端均会被赋予一个唯一的客户端标识(CMID),并将其保存在KMS主机上的一张表中。每个激活请求在该表中的存留时间为30天。当某个客户端刷新它的激活,那么该客户端的缓存CMID将从表中删除,同时创建一个新的记录,存留周期重新变为30天。如果某个KMS客户端没有在30天之内刷新它的激活,那么相对应的CMID将会从表中删除而且激活计数也会减1。
KMS主机缓存两倍数量的KMS客户端激活请求的CMID。例如,在一个Windows 7客户端网络中,KMS激活启动初始条件为25。该KMS主机缓存最近50个激活的CMID。Windows Server 2008 R2的KMS激活启动初始条件为5,那么KMS主机仅仅缓存最近10个Windows Server 2008 R2 KMS客户端的CMID。如果KMS主机又收到Windows 7的激活请求,那么它将增加缓存大小到50以容纳更多激活计数的要求。
发布KMS服务 KMS服务在DNS中使用服务(SRV)资源记录(RR)来存储和联系KMS主机位置。KMS主机默认情况下会自动通过动态DNS(DDNS)发布,KMS客户端通过这些信息查找和连接它们。
KMS服务的客户端发现方式 KMS客户端默认情况下通过DNS服务器查询KMS服务信息。KMS客户端第一次向DNS查询KMS服务信息时,它将从DNS提供的SRV记录列表中随机选择一个KMS主机。如果选择的KMS主机没有响应,KMS客户端计算机将从它的SRV记录列表中删除该KMS主机记录,同时随机从列表中选择一个KMS主机。KMS主机响应之后,KMS客户端计算机会存储KMS主机的名称并用它进行后续的激活和激活状态更新。如果缓存KMS主机在后续的激活状态更新时不能响应,那么KMS客户端计算机将会查找DNS中KMS SRV记录查找新的KMS主机。
客户端计算机使用TCP的匿名远程过程调用(RPCs over TCP)连接到KMS主机,默认端口为1688。该连接是匿名的。在客户端计算机和KMS主机建立一个TCP会话之后,客户端计算机会发送一个单一请求包。KMS主机响应激活计数。如果激活计数达到或者超过该操作系统的激活启动初始条件,那么客户端被激活,会话关闭。激活状态更新请求过程是同样的。
KMS重新被激活 KMS激活的有效期限是180天,称之为合法激活宽限期。KMS客户端必须每隔180天至少连接KMS主机一次来刷新它的状态从而保持激活。默认情况下,KMS客户端计算机每隔7天会尝试刷新它们的激活状态。在客户端激活刷新之后,合法激活期限将重新计算。
二、 KMS 规划和部署 KMS服务不需要一个独立的服务器,它可以和其他服务同时存在。您可以将KMS主机运行在安装了Windows Server 2008 R2、Windows 7或者Windows Server 2003的物理计算机或者虚拟机上,但是运行在Windows 7之上的KMS主机仅仅可以用来激活Windows 7 KMS客户端。一个单一的KMS主机可以支持无限制数量的KMS客户端,但是出于故障转移的考虑,推荐使用最少两个KMS主机。大多数组织运行两台KMS主机就可为其整个架构提供服务。
准备KMS主机 准备一台KMS主机。KMS主机可以选择安装以下操作系统之一:
l 安装Windows Server 2008 R2;
l 安装Windows 7(此时只能激活Windows 7客户端);
l 安装Windows Server 2003(需要从微软官方网站下载KMS组件)
本次安装Windows Server 2008 R2。
规划DNS服务器配置 KMS的自动发布需要DDNS和SRV记录的支持。只要是支持SRV记录(RFC 2782)和动态更新(RFC 2136)的DNS服务器都可以支持KMS客户端默认行为和KMS SRV RR的发布。
您需要配置KMS主机,使其拥有在DDNS服务器上创建和更新SRV、A资源记录的所需的凭据,或者你需要手工创建这些记录。
下面的操作将在微软 DNS 服务器中创建一个KMS 的SRV 记录。该过程将使用默认的 KMS 端口,即TCP 1688端口。如果你的企业环境需要使用特定的TCP 端口,直接输入端口号即可。
1. 在DNS 服务器中,依次点击开始,管理工具,DNS,从而打开DNS 管理器。
2. 点击你需要创建SRV 记录的DNS 服务器。
3. 在控制台中展开正向查找区域,右键点击该域,然后点击其他新记录。
4. 在资源记录类型中选择服务位置(SRV), 然后点击创建记录。
5. 输入如下信息:
a. 服务: _VLMCS
b. 协议: _TCP
c. 端口号:1688
d. 提供此服务的主机:< KMS 主机的FQDN名>
完成后,点击确定,并点击完成。
安装完Windows 2008以后(加入域,配置好DNS),进入命令行,首先查看当前KMS状态
通过命令行进入%windir%system32,键入命令:
cscript slmgr.vbs /dli
红框中的VOLUME_KMSCLIENT说明,现在的License是KMS Client类型。 |