本文转自:http://delxu.blog.51cto.com/975660/240378

为了迎接Windows 2008 R2的正式发布,特将本人去年写的《Windows 2008 实战之KMS实施》重新整理并加以补充,更新为R2版。嘿嘿。
为了让没看过前文的同学们方便起见,还是先列出参考文档。 关于VA2.0的文档集:http://go.microsoft.com/fwlink/?LinkID=75674
其他参考资料和工具:http://go.microsoft.com/fwlink/?LinkId=107415
其中Deployment Guide和Operation Guide是配置和排错最有用的2篇文档。

OS安装阶段
首 先,先保证您用的安装介质是Volume版的。Vista和2008的Volume版本安装时要输入一个CD Key,请注意,这个Key不是KMS Key,而是公开在KMS Deployment Guide中(见文档第19页)的一组Key。而Windows 7和2008 R2的安装没有输入CD Key的部分,Volume版本已经内含一个Setup Key。

检查KMS状态和客户端激活
安装完Windows 2008以后(加入域,配置好DNS),进入命令行,首先查看当前KMS状态
通过命令行进入%windir%\system32,键入命令:
cscript slmgr.vbs /dli
Snap1
红框中的VOLUME_KMSCLIENT说明,现在的License是KMS Client类型。
蓝框中说明了当前的License还未激活,处在刚刚安装完毕的30天宽限期内。
黄框则是提示你,可以键入命令slmgr.vbs /ato来激活。当然,前提是当前网络内可以发现合法的KMS Host。
完整的激活命令是:cscript C:\windows\system32\slmgr.vbs /ato

激活的另外一种方式是,直接按Win-Break键调出系统属性,然后按激活链接即可。这种方式非常简便,尤其适用于Client OS(例如Windows Vista或Windows 7)的部署。

但是如果上面的那台服务器是我们网络内第一台KMS服务器,接下去应该如何配置KMS HOST呢?

配置KMS HOST
1. 以管理员方式打开命令行窗口。(在开始菜单中右键点Command Prompt,然后选Run As Administrator)  这点很重要,否则会报错

2. 安装KMS Key (这个key,如果你是正版用户的话,可以到微软Licensing网站取得)。键入命令:
cscript C:\windows\system32\slmgr.vbs /ipk <KmsKey>
记得不要漏掉KmsKey每5个字符间的减号符。
Snap2
蓝框显示当前的cmd窗口是以管理员身份运行的;
红圈内的VOLUME_KMS_R2_C说明了这个key的权限:2008 R2 Group C。
黄框说明,现在仍未激活。

3. 激活KMS Host。确保Internet连接的情况下,输入命令:
cscript C:\windows\system32\slmgr.vbs /ato

4. 重启KMS services。键入
net stop slsvc && net start slsvc

5. 检查KMS 状态。键入
cscript C:\windows\system32\slmgr.vbs /dli
Snap5
红框显示,此服务器已经激活。下面的大段内容指出的是KMS服务的相关信息。

Troubleshooting
问题1
:试图激活client时总是不成功,错误代码0xC004F039
Snap7
排查:查看Operation Guide的Appendix 2,找到0xC004F039,原因是KMS 请求没有应答,排错的提示是,查看网络连接,是否从KMS client到Host之间有防火墙阻隔了KMS通讯。
解决:在KMS Host上,防火墙策略里面,设置KMS允许通过。KMS使用的是TCP 1688端口。
到Control Panel -&gt; Windows Firewall
Snap10

Snap11

问题2:输入KMS Key的时候报0xC004F025错误代码
Snap6
原因:权限不足,需要提示到管理员权限。
解决:以管理员方式打开命令行窗口。在开始菜单中右键点Command Prompt,然后选Run As Administrator

问题3:激活时遇到错误代码0xC004F038
原因:KMS服务正式开始工作,需要至少5个Windows 2008/R2 或者25个Windows Vista/7的物理机(注意!虚拟机不计算在内),在没达到数量之前,这些OS都处于未激活状态(当然,有30天的宽限期)
微软文档原文:Count on KMS host is not high enough. KMS count must be ≥5 for Windows Server 2008 or ≥25 for Windows Vista.
解决:安装Windows 2008到5台物理服务器以后,KMS服务会激活这5台服务器。

关于KMS Group
目前可以用KMS的产品有Windows Vista,Windows 7,Windows 2008 和Windows 2008 R2。对于Windows 2008和2008 R2来说,又分为3种KMS Group。Web版和HPC版属于Group A,标准版和企业版属于Group B,数据中心版和Itanium版属于Group C。Group C级别最高,A最低,高级别组可以激活低级别的产品,反之不行。
实测发现,同样是Group B的2008 的KMS Host不能激活2008 R2 Std的KMS client。不知道R2的能否激活2008的KMS Client,这点有待考证。