搭建自己的 KMS 服务器激活 Windows&Office

KMS 全称 Key Management Service ,这个功能是在 Windows Vista 之后的产品中的一种新型产品激活机制,目的是为了 Microsoft 更好的遏制非法软件授权行为 (盗版)。

我们知道,Windows XP 和 Server 2003 要想避开激活机制的最好办法就是去下载 VOL 版或者 MSDN 的操作系统,只要输入正确的序列号,甚至有的根本不需要序列号,安装完以后也根本不用激活,并且只要运行一个脚本程序,一个免费的正版 Windows 就诞生了。为什么我们能这么容易的下载到 MSDN 或 VOL 版的 XP 和 2003?其实 Windows XP 系列系统的 MSDN 版是 Microsoft 内部使用的系统,而 VOL 版是企业版,所以都不需要激活。然而这些版本最终被泄露,导致 XP 的盗版风无法��制于公司域内的激活范围,避免了对于外界计算机的非法授权,当非法激活者离开公司域后,由于客户端 KMS 服务不能连接位于域内的 KMS 激活服务器,让它提供一个新的序列号,超过 180 天以后就会因为激活 ID 过期而重新回到试用版本状态,而合法授权者则能够定期获得 ID 更新,保持一直正确的激活状态。

VPS 安装 KMS 服务器

这里,我使用秋水逸冰开发的适用于三大 Linux 发行版的一键安装 KMS 服务的脚本在 VPS 上安装 KMS 服务器。

本脚本适用环境

  • 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
  • 虚拟技术:任意
  • 内存要求:≥128M

    关于本脚本

  1. 本脚本适用于三大 Linux 发行版,其他版本则不支持。
  2. KMS 服务安装完成后会加入开机自启动。
  3. 默认记录日志,其日志位于 /var/log/vlmcsd.log。

    一键脚本安装方法

    使用 root 用户登录,运行以下命令:
1
wget --no-check-certificate https://github.com/teddysun/across/raw/master/kms.sh && chmod +x kms.sh && ./kms.sh

安装完成后,输入以下命令查看端口号 1688 的监听情况:

1
netstat -nxtlp | grep 1688

返回值类似于如下这样就表示 OK 了:

1
tcp        0      0 0.0.0.0:1688                0.0.0.0:*                   LISTEN      3200/vlmcsd         tcp        0      0 :::1688                     :::*                        LISTEN      3200/vlmcsd

使用命令

  • 启动:/etc/init.d/kms start
  • 停止:/etc/init.d/kms stop
  • 重启:/etc/init.d/kms restart
  • 状态:/etc/init.d/kms status

卸载方法

使用 root 用户登录,进入到 kms.sh 所在的目录下,运行以下命令:

1
./kms.sh uninstall

激活

激活 Windows

KMS 激活服务只能激活批量授权版 Windows (VOL 版),无法激活零售版 Windows (Retail 版)。
以 Windows 10 Pro 为例 想要激活 VOL 版 Windows 10 pro,只需要用管理员权限打开一个 cmd,然后依次执行以下命令:

1
slmgr -upkslmgr -ipk W269N-WFGWX-YVC9B-4J6C9-T83GXslmgr -skms IP:PORTslmgr -atoslmgr -dlv

激活 Windows 8、Windows 7 类似,只需要把上面的 KEY 替换一下即可。
注意:VOL 版本的镜像一般内置 GVLK key,用于 KMS 激活。如果你手动输过其他 key,那么这个内置的 key 就会被替换掉,这个时候如果你想用 KMS,那么就需要把 GVLK key 输回去。具体的 KEY 见后面的附录。
如果不知道自己的系统是什么版本,可以运行以下命令查看系统版本:

1
wmic os get caption

我们得到对应 key 之后,使用管理员权限运行 cmd 执行安装 key:

1
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx

激活 Office

KMS 激活服务只能激活 VOL 版的 Office,不过零售版的 Office 可以通过脚本转换为 VOL 版。
如果不知道自己安装的是什么版本的 Office,可以使用这个方法查看:

判断你安装的 Office 是哪个版本:
以管理员权限打开一个 cmd,进入 Office 的安装目录,输入命令:cscript ospp.vbs /dstatus

如果输出的信息中包含下面这句话说明你安装的是零售版:

1
LICENSE DESCRIPTION: Office 15, RETAIL(Grace) channel

如果输出的信息中包含下面这句话说明你安装的是批量授权版:

1
LICENSE DESCRIPTION: Office 15, VOLUME_KMSCLIENT channel

激活 Office 的关键在于找到 ospp.vbs 这个文件。ospp.vbs 一般在 Office 的安装目录里。 Office 2016 的默认安装目录是:C:\Program Files\Microsoft Office\Office16。 以*管理员权限**打开一个 cmd,然后执行以下命令:

1
cd "C:\Program Files\Microsoft Office\Office16"

如果你系统是 64 位的但 Office 安装的是 32 位的,执行以下命令:

1
cd "C:\Program Files (x86)\Microsoft Office\Office16"

这样我们就进入到 Office 的安装目录,然后输入:

1
cscript ospp.vbs /sethst:IP:PORTcscript ospp.vbs /act