[作者:葛伟华、张玉工程师 ,  Office/Project支持团队, 微软亚太区全球技术支持中心 ]

为了减低部署盗版(可能包含恶意软件、病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK。这两种激活方式同时也是Windows Vista/7/2008/2008 R2所使用的。MAK的激活服务由微软的公共平台受理,适合于50台计算机以下的中小企业;而KMS激活要求企业提供一台受理该项服务的服务器,适用于50台计算机以上的企业。两种激活方式都是绑定在企业购买的Windows和Office产品密钥(product key)中。

随着中国的企业越来越多地升级到Office 2010,KMS激活的问题也随之而来。已经购买正版产品却无法激活,就好像买了汽车却只能用临时牌照,牌照到期后车子也不能上路了,这是一件让人很头痛的事情。本文将介绍Office 2010的KMS激活原理,帮助大家了解整个激活过程需要注意的地方,并分享两个实际的案例供大家参考。

如何确定Office 2010的激活方式?

步骤如下:

1. 启动命令行,进入Office 2010安装路径:

C:\Program Files\Microsoft Office\Office14

(32-bit电脑+32-bit Office 2010,或者64-bit电脑+64-bitOffice 2010)

C:\Program Files (x86)\Microsoft Office\Office14

(64-bit电脑+32-bitOffice 2010)

2. 输入cscript ospp.vbs /dstatus

3. 检查LICENSE DESCRIPTION,如果输出结果中有KMS字样,则当前安装的Office 2010使用的是KMS激活方式;如果有MAK字样,则当前安装的Office 2010使用的是MAK激活方式

如果您的企业同时拥有MAK和KMS的产品密钥,但是由于某种原因其中一种激活方式无法生效,您可以更改Office 2010客户端激活方式,具体步骤请见How to use command line to change/activate MAK product key for Office 2010 installation?

 

KMS激活原理和步骤

鉴于我们受理的企业客户KMS激活问题比较多,下面对KMS激活的原理、步骤和可能出现的问题做一下概述。

部署KMS激活的第一步是安装Office 2010 KMS Host key并激活KMS主机(即KMS Host),KMS主机可以实体机或者虚拟机,操作系统支持Windows Server 2003(需要额外安装补丁,请见这里), Windows Server 2008 R2和Windows 7。但是运行在Windows 7之上的KMS主机仅仅可以用来激活Windows 7 KMS客户端。

在KMS主机激活后,KMS服务在DNS服务器中使用服务(SRV)资源记录(RR, Resource Record)来存储KMS主机位置。KMS主机默认情况下会自动通过动态DNS (Dynamic DNS)发布,KMS客户端(安装Office 2010并使用 KMS激活的电脑)通过这些信息查找和连接它。

KMS主机会保存一个“激活计数”作为激活Office 2010客户端的条件之一。初次部署时,每当一台新的Office 2010客户端成功连接到KMS主机后,该激活计数会增加。当该数目达到5时,所有Office 2010客户端都会被自动激活。再往后,该激活计数由KMS主机进行维护。

下图中的字母A~C表示KMS主机配置,数字1~4表示KMS服务的客户端是如何发现KMS 主机并进行激活(以及刷新激活记录)的。该图可以从这里下载:

 

A. 在KMS主机上安装Office 2010 KMS Host key

B. 通过Internet上的激活中心激活KMS主机

C. KMS服务每次启动时都会在DNS中添加服务资源记录 (SRV record)

 

1. KMS客户端第一次向DNS查询KMS服务信息时,它将从DNS提供的SRV记录列表中随机选择一个KMS主机。如果选择的KMS主机没有响应,KMS客户端计算机将从它的SRV记录列表中删除该KMS主机记录,同时随机从列表中选择一个KMS主机。

2. 客户端计算机使用TCP的匿名远程过程调用 (RPCs over TCP)连接到KMS主机,默认端口为1688(防火墙上需要打开该端口)。在客户端计算机和KMS主机建立一个TCP会话之后,客户端计算机会产生客户端标识 (CMID)然后向KMS主机发送请求记录。这条请求记录会用AES加密算法做签名。已经激活的客户端会每7天发发送一次请求刷新激活记录,未激活的客户端每2小时发送一次请求进行激活。

注:如果缓存KMS主机在后续的激活状态更新时不能响应,那么KMS客户端计算机将会查找DNS中KMS SRV记录查找新的KMS主机。

3. KMS主机会将客户端标识(CMID)保存在KMS主机上的一张表中。每个激活请求在该表中的存留时间为30天。当某个客户端刷新它的激活,那么该客户端的缓存CMID将从表中删除,同时创建一个新的记录,存留周期重新变为30天。如果某个KMS客户端没有在30天之内刷新它的激活,那么相对应的CMID将会从表中删除而且激活计数也会减1。

4. KMS主机将激活计数返回给客户端。

5. 客户端根据激活计数和其他的许可策略来进行激活(以及刷新激活记录)。默认情况下这个过程每7天会进行一次。

另外,KMS客户端在首次激活后的180天内,需要连接到KMS服务器刷新激活,否则会再次进入30天的试用期(Grace Period),在30天之后,批量授权(Volume License)的Office 2010会在程序标题栏用红色字进行提示,如果是零售版(Retail)的Office 2010则会进入Reduced Functionality Mode,在这个模式下用户只能浏览文件,无法编辑。

案例分享一(激活KMS主机)

问题描述:

客户在购买了Office 2010后,需要激活Office KMS Host,但是不知如何进行。

解决方案:

1. 首先下载Office 2010 KMS Host License Pack

2. 根据提示,输入KMS主机密钥 (KMS Host key)。继续激活时,遇到报错:

3. 错误号0x80072ee7一般意味着没有网络连接,或者服务器需要通过代理才能连接到Internet。此时如果打开命令行,切换到c:\windows\system32,输入cscript slmgr.vbs /ipk <Office 2010 KMS host key>,会看到如下的页面,License Status显示Unlicensed (未激活)。

                

如果要深究这个问题,我们可以使用Network Monitor抓网络包进行分析。但是如果不想看网络包,也可以使用电话激活。

4. 在命令行中运行切换到c:\windows\system32,输入cscript slmgr.vbs /dti bfe7a195-4f8f-4f0b-a622-cf13c7d16864,会得到Office 2010的安装序列号(Installation ID)。

5. 运行slui.exe 4,然后拨打画面中的电话 。

注:在电话中会被要求用户输入Installation ID,请使用上一步在命令行中得到的序列号,而不要输入页面上显示的9列 6位字符(红框所示)

6. 当听到电话上的回应后,输入确认序列号(Confirmation ID)。

7. 在命令行中输入cscript slmgr.vbs /atp <Confirmation ID> bfe7a195-4f8f-4f0b-a622-cf13c7d16864

8. 确认Office 2010 KMS Host被正确激活,在命令行中输入:

cscript slmgr.vbs /dlv bfe7a195-4f8f-4f0b-a622-cf13c7d16864 (只看Office 2010)

cscript slmgr.vbs /dlv all (看所有产品的KMS Host,包括Windows和Office)

以第一条命令为例,应该可以看到类似下面的输出(License status显示Licensed):

Name: Microsoft Office 2010, KMSHost edition

Description: Microsoft Office 2010 KMS, VOLUME_KMS channel

Activation ID: bfe7a195-4f8f-4f0b-a622-cf13c7d16864

Application ID: 59a52881-a989-479d-af46-f275c6370663

Extended PID: 55041-00096-199-000004-03-1033-7600.0000-3632009

Installation ID: 008585014214769124199722184000850026888810090785321136

Processor Certificate URL: http://go.microsoft.com/fwlink/p/?LinkID=88342

Machine Certificate URL: http://go.microsoft.com/fwlink/p/?LinkID=88343

Use License URL: http://go.microsoft.com/fwlink/p/?LinkID=88345

Product Key Certificate URL: http://go.microsoft.com/fwlink/p/?LinkID=88344

Partial Product Key: RP3HH

License Status: Licensed

Remaining Windows rearm count: 1

Trusted time: 12/29/2009 1:45:54 PM

 

Key Management Service is enabled on this computer

    Current count: 0

    Listening on Port: 1688

    DNS publishing enabled

    KMS priority: Normal

 

Key Management Service cumulative requests received from clients

    Total requests received: 0

    Failed requests received: 0

    Requests with License Status Unlicensed: 0

    Requests with License Status Licensed: 0

    Requests with License Status Initial grace period: 0

    Requests with License Status License expired or Hardware out of tolerance: 0

 

    Requests with License Status Non-genuine grace period: 0

Requests with License Status Notification: 0

9.接下来我们需要在至少5台计算机上启动一次Office 2010,如果这些客户端发出的激活请求能正确地自动找到KMS主机,则上一步中的Current count(激活计数)会一直增加,达到5以后所有的Office 2010客户端会被激活。

 

案例分享二(如何让未加入域的计算机进行KMS激活)

问题描述:

许多企业客户的计算机分布在不同办公室,希望在客户端不加域的情况下进行Office KMS激活。

解决方案:

客户端不加域的主要问题是客户端请求如何送达KMS服务器,需要通过网络上的IP地址解析。在域环境中,由于DNS起作用,一般来说IP地址和服务器名解析是自动的。在不加域的情况下,只要客户端能够ping通KMS服务器,可以通过下面方法来解决:

1. 打开命令行,切换到Office安装路径

C:\Program Files\Microsoft Office\Office14

(32-bit电脑+32-bit Office 2010,或者64-bit电脑+64-bitOffice 2010)

C:\Program Files (x86)\Microsoft Office\Office14

(64-bit电脑+32-bitOffice 2010)

2. 指定KMS服务器:

cscript ospp.vbs /sethst: <KMS服务器的IP地址>

3. 激活Office 2010:

cscript ospp.vbs /act 

 

参考资料

最细致的Office 2010 KMS激活步骤(英文):

Office 2010 KMS installation and troubleshooting

如何使用电话激活Office 2010 KMS主机:

Activate Office 2010 KMS host via phone activation

下载Office 2010 KMS/MAK激活的典型场景和流程图:

Volume Activation of Microsoft Office 2010

规划Office 2010批量激活的官方说明:

Plan volume activation of Office 2010

KMS激活步骤官方说明:

KMS Activation

如何部署Office 2010批量激活的官方说明:

Deploy volume activation of Office 2010