暑假我们上了一个机房,50台计算机,4GB内存、17液晶显示器、250GB硬盘。因为机器配置比较高,我就想在每台机器上安装Vista,因为我们是MSDNAA订阅用户,有可激活的序列号以及KMS激活号,考虑到机房的机器可能经常要重要安装,决定使用KMS的方式激活。
1 KMS相关知识
KMS,密钥管理服务,是Microsoft Volume Activation 2.0的一部分。Microsoft Volume Activation 2.0为客户提供了两种密钥类型和三种激活方法。客户可灵活地选择任何一个或全部选项,其选择仅受限于他们的组织需要和网络基础结构。
•多次激活密钥(MAK)
•MAK代理激活
•MAK独立激活
•密钥管理服务(KMS)密钥
•KMS激活
MAK激活使用一种类似于在MSDN Universal和Microsoft Action Pack订阅中使用的技术。每一个产品密钥可激活特定的一组计算机。如果批量许可媒体的使用未加控制,过度激活将导致激活池耗尽。MAK是一组激活密钥。这组密钥不是用来安装Windows的,而是在Windows安装后对其激活。您可以使用这组密钥激活任何一个Windows Vista批量版。
MAK用来激活MAK管理下的每个系统。您可以通过Internet或电话进行激活。当各计算机与Microsoft的激活服务器取得联系时,激活池就会减小。您可以通过Microsoft许可网站查看剩余的激活数量,也可以通过与Microsoft激活呼叫中心联系来请求额外的激活。
使用MAK有两种激活计算机的方式:
•MAK代理激活:这种解决方案支持集中激活请求,方法是用一个台式机代表多个台式机连接到Microsoft。MAK代理激活将在代号为“Volume Activation Management Tool”(VAMT)的解决方案中提供。
•MAK独立激活:要求每一个台式机都独立地连接到Microsoft并进行激活。
MAK激活的好处包括能够自动化密钥分配和激活,以及不要求周期性重新激活。其他要求包括:当激活数量超过以前确定的限制时可请求更多激活,能够管理MAK(由商业台式机部署(BDD)2007自动部署)安装,在出现重大硬件更改时能够要求重新激活,以及在无Internet连接可用时能够使用电话手动激活。
•密钥管理服务(KMS)密钥:使组织能够对受管环境中的计算机执行本地激活而无需单独连接到Microsoft。KMS密钥可用于启用由组织系统管理员控制的计算机上的密钥管理服务。KMS主要用于受管环境,在这些环境中,至少有25台计算机一直连接到组织的网络上。运行Windows Vista的计算机通过连接到运行KMS服务的中心Windows Vista计算机进行激活。
在初始化KMS之后,KMS激活基础结构可自我维护。用户可以安装KMS密钥并启用Windows Vista系统的KMS服务。KMS服务可方便地与其他服务共用主机,此服务不要求下载或安装任何额外的软件。也可以使用用于Volume Activation 2.0的Windows Server 2003 KMS服务。单个KMS主机可支持成千上万的KMS客户端。预计多数组织的整个基础结构只使用两台KMS主机即可正常运行(一台主KMS主机和一台提供冗余的备份主机)。
KMS主机必须至少要有25个物理Windows Vista客户端与其连接,才能激活其中的每个客户机。运行于虚拟机(VM)环境中的系统也可以使用KMS进行激活,但这些系统不计入系统数。
客户端必须至少每180天连接到KMS主机一次以进行重新激活。尚未激活的客户端将会每两个小时(此值可配置)尝试一次到KMS主机的连接。一旦激活,则会每七天(此值可配置)尝试一次到KMS主机的连接,如果连接成功,则将重新开始为期180天的激活生命周期。客户端可使用下面两种方法中的一种来定位KMS主机:
• 自动发现--使用这种方法,KMS客户端使用域名服务记录自动定位本地KMS主机。
• 直接连接--这种方法由系统管理员指定KMS主机位置和通信端口。
客户端具有30天的宽限期以完成激活。如果客户端不能在这一时间段中激活产品,则产品将进入功能缩减模式(RFM)。
正如前面提到的那样,使用KMS激活的KMS客户端会周期性地尝试重新激活。如果它们不能在180天内连接到KMS主机,则将进入为期30天的宽限期,这时,其产品在连接到KMS主机之前,或者在安装MAK并且通过在线或电话激活系统之前,将一直处在RFM状态。此功能可防止已从组织中移除的计算机在许可证不足的情况下出现的功能不确定性。
2 在Windows Server 2003主机安装KMS Server
可以使用一台Windows Vista的计算机(包括虚拟机)做KMS服务器,也可以使用一台Windows Server 2003做KMS服务器。但在实际过程中,专门准备一台Vista的计算机有些“浪费”,所以,在实际使用中,可以在网络中的一台Windows Server 2003服务器上KMS服务器软件。
【注意】只能在Windows Server 2003的物理主机安装KMS服务器软件,不能在虚拟机中安装。如果你想在虚拟机中使用KMS服务器,只能使用Vista虚拟机。
2.1 使用Windows Server 2003做KMS服务器
如果使用Windows Server 2003做KMS服务器,需要从Microsoft下载用于Windows Server 2003的KMS服务器软件。软件分64位版本和32位版本,分别用于64位和32位的Windows Server 2003。64位下载地址为:
[url]http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=03fe69b2-6244-471c-80d2-b4171fb1d7a5[/url]
32位下载地址为:
[url]http://www.microsoft.com/downloads/details.aspx?familyid=81D1CB89-13BD-4250-B624-2F8C57A1AE7B&displaylang=zh-cn[/url]
下载完成后,在Windows Server 2003中安装即可。安装很简单,不一一介绍。
2.2 激活KMS服务器
不管是使用Windows Vista做KMS服务器,还是使用Windows Server 2003做KMS服务器,在这台服务器使用之前,需要使用Microsoft提供的KMS号码、激活KMS服务器。下面以准备用于Vista Enterprise的KMS为例,进行说明。
(1)安装KMS的激活KEY
以管理员身份,进入命令提示符,执行如下命令(其中11111-22222-33333-44444-55555是Microsoft提供的Vista Enterprise企业版的KMS号码):
c:\windows\system32> slmgr.vbs -ipk 11111-22222-33333-44444-55555
图1 安装KMS的KEY
(2)激活KMS:
接着执行slmgr.vbs –ato命令,如图2所示。
图2 激活KMS
(3)如果KMS服务器是Vista,在激活KMS的同时,也会激活Vista,如图3所示。
图3 同时激活Vista
(4)从注册表中清除产品密钥:
为了保护KMS KEY的安全,在激活之后,运行slmgr.vbs -cpky命令,从注册表中清除KEY,如图4所示。
图4 清除产品密钥
【说明】在本例中,KMS服务器的IP地址为172.30.5.18。
3 Vista的安装与部署 3.1准备Vista
在机房的一台计算机上,安装Vista企业版,并安装所需要的软件,安装完成后,编写一批处理文件保存在C盘根目录下,在本例中,该批处理文件名为kms.bat,其内容如下:
C:\Windows\system32\cscript C:\Windows\system32\slmgr.vbs -skms 172.30.5.18
C:\Windows\system32\ cscript C:\Windows\system32\slmgr.vbs –ato
其中 ,172.30.5.18是网络中KMS服务器的地址。
然后以管理员身份进入“命令提示符”,进入\windows\system32\sysprep文件夹,执行sysprep /generalize,为分发Vista做准备,如图5所示。
图5 执行sysprep
进入“系统准备工具”后,在“系统清理操作”中有“进入系统全新体验”与“进入系统审核模式”两项选择,如果选择前者,在分发该Vista后,将会进入安装向导,在向导中,要要求设置计算机的名称、创建用户、运行系统分级程序等;如果选择后者,会自动生成计算机名称并且按照默认自动完成配置。对于机房或者最终用户来说,可以选择前者,这样在分发该Vista后,可以重新设置计算机名等;如果想减轻工作负担,可以选择后者。
在“关机选项”中,有“重新启动”与“关机”两项,表示在执行该工具后的操作,如果执行该系统准备工具后,可以直接通过网络分发该安装镜像,可以选择“重新启动”,例如,因为我机房都有还原卡,可以在执行系统准备工具后,直接用还原卡传操作系统;如果这是处理的“模板机”,需要关机后,用硬盘对拷克隆的方式处理,则需要选择“关机”,如图6、图7所示。
图6 系统准备工具
图7 系统准备工具
3.2 分发Vista
执行图6或图7的系统准备工具后,在系统关机或重新启动后,使用还原卡的“网络克隆”程序,将安装好Vista的分区传到机房中的其他工作站上,分发完成后,分别启动网络中的每台工作站,在第一次启动时,会按照“系统准备工具”的设置,自动重新配置Vista,并且在配置完成后,计算机重新启动。
再次进入系统后,为计算机设置IP地址、设置分辩率,然后以管理员身份,进入命令提示符,执行C盘根目录下的KMS.bat批处理文件,使用KMS服务器激活Vista。在一开始的时候(前24台Vista计算机)会提示错误“错误: 0xC004F038 无法激活计算机。从密钥管理服务返回的计数不足。”,当数量到达25台后,从25台Vista开始,可以激活。当第25台激活后,返回前24台Vista计算机上,再次执行
C:\Windows\system32\ cscript C:\Windows\system32\slmgr.vbs –ato
可以从KMS服务器激活Vista,如图8所示。
图8 工作站激活的图示
在工作站激活的过程中,可以在服务器上执行
C:\Windows\system32\ cscript C:\Windows\system32\slmgr.vbs –dli
查看已经使用该KMS服务器的工作站数量,如图9、图10所示。
图9 当前计数为0
图10 当前计数为33
4 后记
上面记录的是正确的步骤,实际上,在使用KMS的过程中,很是费了一些功夫:
KMS服务器部分:
(1)最开始的时候,使用一台Vista的虚拟机做KMS服务器,但因为主机配置比较低,导致Vista启动过慢。
(2)后来在一台Windows 2003虚拟机中安装KMS,结果安装了之后,提示不能在虚拟机中运行。
(3)后来在一台主机上安装KMS,但总是出错,后来一看,这个主机是Windows Server 2008(我这服务器比较多,有的升级到2008了)。
(4)最后,在一台Windows 2003主机安装KMS并激活。
工作站部分:
(1)在使用还原卡传Vista时,没有使用sysprep,传了之后,使用KMS时,KMS服务器计数总是停留在1上,导致所有的Vista不能激活。
(2)修改了Vista的计算机名,再次联系KMS,仍然不能激活。
(3)不带参数,使用sysprep,仍然不行。
(4)再次用sysprep,换成“审核模式”,终于,KMS计数显示为2,但后来的其他计算机,仍然不能用。
(5)后来查看sysprep的帮助,发现需要使用sysprep /generalize参数。使用该参数后,KMS计数慢慢累加,终于达到了激活的数量。然后一台一台,激活了所有的Vista企业版。