KMS即Key Management Service,用来企业内部批量激活的。还有一种激活方式叫MAK,就是普通的通过internet或者电话激活,具体的区别百度里面很多介绍

下面是原理图,

KMS工作机制及搭建_第1张图片

结合原理图下面是具体搭建过程及相应工作机制

  1.  KMS主机安装Windows  KMS Host key。

       slmgr.vbs –ipk AAAAA-BBBBB-CCCCC-DDDDD-EEEEE     /*导入kms-key*/

       slmgr.vbs -ato    /*激活上面输入的key*/

  2. 通过Internet或者电话激活KMS主机

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

  4. KMS客户端每次向DNS查询KMS服务信息时,将从DNS提供的服务资源记录列表随机选择一个KMS主机。如果选择的KMS主机没有响应,KMS客户端计算机将从它的SRV记录列表中删除该KMS主机记录,同时随机从列表中选择一个新的KMS主机。                                                                                                                                                     ( windows client可能不会执行此步骤,不是所有的client都是kms client,默认情况下安装系统的时候不输入序列号的话默认的是VOL KEY‘你要问我什么是VOL KEY,他是免费的、公开的,输入的key是vol key他就是kms client,就会执行上面的第4步’。通过如下脚本可以解决这个问题                                                                                                                                                cd %systemroot%\system32\

    cscript.exe slmgr.vbs -ipk xxxx-xxxx-xxxx-xxxx-xxxx /*xxxx表示vol key*/

    cscript.exe slmgr.vbs -skms kms-server-ip    /*这一步其实可以不用执行的,也可以加上去,指定kms                                                        server,其中kms-server-ip 为kms server 的ip*/

    cscript.exe slmgr.vbs –ato      /*执行激活过程*/                                                       下面是一些vol key                           Windows 7 Professional - FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4

    Windows 7 Professional N - MRPKT-YTG23-K7D7T-X2JMM-QY7MG

    Windows 7 Enterprise - 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH

    Windows 7 Enterprise N - YDRBP-3D83W-TY26F-D46B2-XCKRJ

    Windows 7 Enterprise E - C29WB-22CC8-VJ326-GHFJW-H9DH4

    Windows Server 2008 R2 HPC Edition - FKJQ8-TMCVP-FRMR7-4WR42-3JCD7

    Windows Server 2008 R2 Datacenter - 74YFP-3QFB3-KQT8W-PMXWJ-7M648

    Windows Server 2008 R2 Enterprise - 489J6-VHDMP-X63PK-3K798-CPX3Y

    Windows Server 2008 R2 for Itanium-Based Systems - GT63C-RJFQ3-4GMB6-BRFB9-CB83V

    Windows Server 2008 R2 Standard - YC6KT-GKW9T-YTKYR-T4X34-R7VHC

    Windows Web Server 2008 R2 - 6TPJF-RBVHG-WBW2R-86QPH-6RTM4

    Windows Vista Business - YFKBB-PQJJV-G996G-VWGXY-2V3X8

    Windows Vista Business N - HMBQG-8H2RH-C77VX-27R82-VMQBT

    Windows Vista Enterprise - VKK3X-68KWM-X2YGT-QR4M6-4BWMV

    Windows Vista Enterprise N - VTC42-BM838-43QHV-84HX6-XJXKV

    Windows Server 2008 Datacenter - 7M67G-PC374-GR742-YH8V4-TCBY3

    Windows Server 2008 Datacenter without Hyper-V - 22XQ2-VRXRG-P8D42-K34TD-G3QQC

    Windows Server 2008 for Itanium-Based Systems - 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK

    Windows Server 2008 Enterprise - YQGMW-MPWTJ-34KDK-48M3W-X4Q6V

    Windows Server 2008 Enterprise without Hyper-V - 39BXF-X8Q23-P2WWT-38T2F-G3FPG

    Windows Server 2008 Standard - TM24T-X9RMF-VWXK6-X8JC9-BFGM2

    Windows Server 2008 Standard without Hyper-V - W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ

    Windows Web Server 2008 - WYR28-R7TFJ-3X2YQ-YCY4H-M249D                                                                                        )

  5.  客户端计算机通过TCP匿名远程过程调用连接到KMS主机,默认端口为1688。在客户端计算机和KMS主机建立TCP会话之后,客户端计算机会产生CMID客户端标识 然后向KMS主机发送请求记录。这条请求记录会用AES加密算法做签名。已经激活的客户端会每7天发发送一次请求刷新激活记录,未激活的 Windows 8 客户端每2小时发送一次请求进行激活。如果缓存KMS主机无法响应后续的激活状态更新,KMS客户端计算机将会通过DNS中KMS SRV记录重新查找新的KMS主机。

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

  7.  KMS主机将激活计数返回给客户端, 客户端将激活计数的值与授权策略对比,如果满足激活阈值,则进行激活。默认情况下Windows 8 客户端每周自动进行一次激活。

  8. 具体的授权策略为:当KMS主机上的表(
CMID/DATA-stamp)中的CMID数量达到一定数量时才会统一的执行激活过程,对于这个数量2008&2008 R2为5,vista&win7为25,office2010为5