• 本站压缩包统一解压密码:crowsong.xyz
  • 请善用右上角的搜索功能和下方的标签功能
  • 文章存在时效性,请注意发布时间与最后修改时间

使用py-kms在CentOS7中搭建KMS服务器

Linux 水之笔记 5年前 (2018-08-19) 最后修改:4年前 (2019-05-20) 559次浏览 0个评论

在工作中我们经常会遇到需要激活 Windows 或者 office 的问题,这里笔者为大家提供了一种通过自己搭建 KMS 服务器来激活的方法。


1、了解 Windows 系统的版本介绍

版本缩写 版本全称 版本意义
Alpha 版 Alpha 内部测试版,一般不会向外部发布,会有很多 Bug,只供测试人员使用,如果您看到 Alpha 版本了,一般来讲对于微软来讲可能是个不好的消息。
Beta 版 Beta 也是测试版,是继 Alpha 之后推出,这个阶段的版本会不断加入新的功能,改动也会较大,也会面向市场测试。
RC 版 ReleaseCandidate 测试候选版本,WINDOWS RC 版不会再加入新功能,主要测试软件内的 BUG。需要激活。
RTM 版 Release to Manufacture 或者 Resin Transfer Molding 供给生产工厂大量压片的版本,内容跟正式版是一样的,不过 RTM 版也会在时间上再次划分出限制版和评估版的。再次进行市场验证。
EVAL 版 Evaluation 与“评估版”类似,功能上和零售版没有区别,需要激活。
CTP 版 Community Test Preview 社区测试试用版。
OEM 版 Original Equipment Manufacturer 计算机厂商随机版,只能随计算机一对一出货,不可以单独零售。只能全新安不能从旧有操作系统升级,包装也不像零售版那样精美(反正是随机子打包的,穿的再好也没用),通常只有一面 CD 盘和使用授权说明书。 比如联想、DELL 等出售的 WINDOWS 操作系统计算机一般都是。
OEM 版本一般不需要激活。
RTL 版 Retail 正式零售版,供市面上架零售。
另外,在安装盘的 i386 文件夹里有一个 eula.txt 文件,最后有一行 EULAID,就是你的版本标识。
简体中文正式版是 EULAID:WX.4_PRO_RTL_CN;
繁体中文正式版是 WX.4_PRO_RTL_TW;
其中:
WX.开头是正式版,WB.开头是测试版;
_PRE 代表家庭版,_PRO 代表专业版;
正版的零售版本一般都需要激活的。
VOL 版 Volume OR Volume Licensing for Organizations 翻译过来就是组织团体批量许可,也就是大客户版,比如 ZF 部门、大型商业机构等统一购买的一般都是大客户版本,一般根据购买数量又可细分为开放式许可(Open License)、选择式许可(Select License)、企业许可协议(Enterprise Agreement)、教育科研许可(Academic Volume Licensing)等 5 种版本,根据 VOL 版本计划,VOL 版本的 WINDOWS 是不需要激活的。

如果我们想要使用 kms 服务器的方法激活的话,我们需要使用的版本就必须是VOL 版本,有时候也会被简称为VL 版本


2、如何确认 VOL 版本,与 VOL 版本下载

首先你必须要确认自己使用的是 VOL 版本,若不是,可以尝试安装 VOL 版本或者使用其他脚本将自己的零售版转换成为 VOL 版本,具体转换方法百度即可。
那么如何确认自己是不是 VOL 版本呢?
以 office 为例,首先你需要确定你所使用版本的目录名称

版本 目录名称
2016 Office16
2013 Office15
2010 Office14

如果你是 32 位且是默认安装目录的话,那么目录就会在:
C:\Program Files (x86)\Microsoft Office\目录名称
如果你是 64 位且是默认安装目录的话,那么目录就会在:
C:\Program Files\Microsoft Office\目录名称
这里以笔者的 office 举例,笔者使用的是 64 位的 office2010,默认安装目录,所以笔者的安装目录就是在C:\Program Files\Microsoft Office\Office14下。在这个目录下,如果你是 VOL 版本,你应该能够找到一个名称是OSPP.VBS的文件(如下图),若找不到则你安装的不是 VOL 版本。

如果不是 VOL 版本,你可以去 https://msdn.itellyou.cn/ 这里下载,下载的时候请注意下载带有VOL 标识的版本(如下图),其余版本均不可使用 kms 服务器激活。

笔者在自己的网盘里面备份了 office2010 的 VOL 版本(从 msdn 上下载的):http://waternote.ctfile.net/fs/2276132-372994747


3、在 CentOS7 上安装 py-kms

py-kms GitHub 地址:https://github.com/dzacharo/py-kms.git
安装所需程序有python、git、py-kms
首先安装gitpython,之后进入到/usr/local/目录,使用git clone命令安装py-kms

yum -y install git python-argparse
cd /usr/local/
git clone https://github.com/myanaloglife/py-kms.git

之后执行即可:

nohup /usr/bin/python /usr/local/py-kms/server.py >/dev/null &

但是在这里笔者遇到一个问题,输入后会提示:

# nohup: ignoring input and redirecting stderr to stdout

所以笔者将执行命令修改了一点,改成:

nohup /usr/bin/python /usr/local/py-kms/server.py >/dev/null 2>&1 &

再次执行,此提示消失。
之后我们可以检查一下该进程是否存在

ps -ef | grep python


我们可以看到py-kms的进程已经在运行了。
之后我们需要配置下防火墙,KMS 服务器默认使用的是1688端口。
笔者这里使用的是iptables防火墙。

vi /etc/sysconfig/iptables

22端口下面添加1688端口:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1688 -j ACCEPT

重启防火墙。

systemctl restart iptables.service

至此,KMS 服务器的搭建工作完成。


4、测试 KMS 服务器是否能正常工作(可选)

这里需要使用一个工具vlmcs1
vlmcs 博主备份地址:http://waternote.ctfile.net/fs/2276132-375213434
首先我们以管理员身份打开 CMD,之后将 vlmcs 拖进去,打上你要测试的地址:端口(不输入端口默认为 1688)。
若返回信息显示 successful 则说明 KMS 服务器可用。
更多高级用法请打 vlmcs -help 和 vlmcs -1


5、通过 KMS 服务器激活 Windows

1、以管理员身份打开命令提示符 CMD
2、确认自己的系统版本(若已知可自行跳过)。

wmic os get caption

3、获取相应的密钥。
可以前往此处查找:https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys
4、得到相应的 key 之后,在 cmd 中执行安装 key。

slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx

5、修改激活的服务器,执行激活命令

slmgr /skms 你 KMS 服务器的 IP 或者域名
slmgr /ato
slmgr /xpr

对于激活时候可能出现的错误:
1、错误代码 0xC004F035

  • 原因(若嫌麻烦可以直接看下面的解决方法):
    这种情况的出现是因为你电脑 BIOS 里的 ACPI_SLIC 表并不支持安装该系统,或者是损坏(概率极低)。而 ACPI_SLIC 表是用在 ACPI 兼容的 BIOS 里,用于存储 Software Licensing 信息的。
    当尝试使用 KMS 方式激活的时候,会尝试得到这个信息,如果版本不符合或者该内容不存在则无法激活。
  • 解决方法:
    解决方法有两种:

    • 第一种是刷含有 OEM 信息的 BIOS 或者去修改 BIOS SLIC 表,但这种操作很危险,需要专业人士才能进行。
    • 第二种方法是通过使用 BIOS SLIC 动态加载工具,来软加载 SLIC 即可。
      这里笔者提供两个工具:一个是 BIOS SLIC 动态加载工具,一个是 SLIC Dump ToolKit(用于查看是否加载成功)。
      点击此处下载
      1、下载解压后我们先以管理员身份运行SLIC_Dump_ToolKit.EXE,若显示提取失败!(SLIC 表没有找到!)则进行第二步。

      2、以管理员身份运行DBSLDR.EXE,默认采用“自动选择加载”方法,直接单击“安装”即可,提示安装成功!重启生效(不会对硬件造成改动)。

      3、再次以管理员身份运行SLIC_Dump_ToolKit.EXE,若在状态栏显示“提取成功”,说明安装成功,可以按照正常步骤进行激活。

2、错误代码 0xC004F074

  • 原因与解决方法:
    1、尝试查看你的 KMS 服务器是否可用,具体步骤请参照前面的内容。


6、通过 KMS 服务器激活 office

首先以管理员身份打开命令提示符 CMD
之后进入到你的 office 目录(第二章中有提到具体位置),以笔者使用的 office2010 为例:

cd "%ProgramFiles%\Microsoft Office\Office14"

然后执行:

cscript ospp.vbs /sethst:你 KMS 服务器的 IP 或者域名
cscript ospp.vbs /act
cscript ospp.vbs /dstatus

KMS 的激活有效期是 180 天,一般来说客户端会每隔 7 天发送一次请求,只要 KMS 服务器存在,则会一直处于激活的状态。若不存在,则保留 180 天,直到再次激活。


参考资料:


本文章笔记版本地址:http://ccdd6ec5.wiz03.com/share/s/3cTmX51TMQ-b2QTact03UPg83fTTOv1rMkCK2JezVE3pHlfs


  1. 该软件转载自 https://03k.org/kmstest.html


水之笔记 , 版权所有丨如未注明 , 均为原创丨转载请注明出自 水之笔记的博客 crowsong.xyz
小站不易,若您觉得文章对您有所帮助,您可以在网页右上方使用支付宝赞助下小站或者扫描下支付宝红包。
喜欢 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址