众所周知,KMS激活方式是当前广大网民“试用”windows,office的最广泛的激活方式。几乎可以用于微软的全线产品。

但是在本机使用KMS类的激活工具总是有些不放心,一方面每隔180天都要重新激活,另外是这些工具来源不一,经常被杀软查杀,这些激活工具到底有没有安全问题?只能全靠信仰了。

因此,当前最能体现技术宅们不折腾不死心的做法就是在非本机环境下搭建kms激活模拟器,对局域网内机器进行远程激活。

KMS激活服务器搭建

目前常用的KMS激活服务器程序为py-kms与vlmcsd,分别为python和C语言版本。可运行于各大freebsd/linux/openwrt/windows...环境中。

vlmcsd发布地址:

http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms

py-kms发布地址:

https://github.com/myanaloglife/py-kms

Update:推荐使用这个版本的py-kms,可以激活最新的windows10以及office2016

https://github.com/dzacharo/py-kms

个人更喜欢py-kms一些,依赖少,跨平台,不用编译。可以对windows全系列(7/8/8.1/10),office全系列(~2016)进行激活。

我在局域网内cubietruck(一个类似树莓派的ARM主机)中安装py-kms的流程如下:

1.安装依赖

  1. sudo apt-get install python-argparse

2.下载代码

  1. git clone https://github.com/myanaloglife/py-kms

3.运行激活服务器

  1. cd /py-kms
  2. python server.py

这时候看到提示消息

  1. TCP server listening at 0.0.0.0 on port .

就是说KMS服务已经在1688端口上打开了,没有错误。这就搭建完毕了。

4.使用supervisor管理py-kms服务(非必须步骤)

为了让py-kms长期24小时运行于我的cubieboard中,我写了个supervisor脚本 pykms.conf 如下:

  1. [program:pykms]
  2. command=python /root/py-kms/server.py
  3. autorestart=true
  4. user=root

重启下supervisor,看到pykms正常运行,收工。

5.手动激活office 2013

参考:http://learner7.blog.51cto.com/1340889/1597515

我的office 是32位的2013版本,所以首先打开有管理员权限的命令行工具,进入程序安装目录:

  1. CD "%ProgramFiles(x86)%\MICROSOFT OFFICE\OFFICE15"

运行激活命令:

  1. CSCRIPT OSPP.VBS /SETHST:192.168..xxx
  2. CSCRIPT OSPP.VBS /ACT
  3. CSCRIPT OSPP.VBS /DSTATUS

以上三行的大意是:1.设置激活服务器地址为192.168.0.xxx,即你的内网kms服务器地址;2.激活;3.查看激活状态。

完事,收工。

参考:

http://wrlog.com/activate-kms-vlmcsd.html

http://stdioa.github.io/2015/09/02/%E6%90%AD%E5%BB%BA%E7%A7%81%E6%9C%89KMS%E6%9C%8D%E5%8A%A1%E5%99%A8/

http://learner7.blog.51cto.com/1340889/1597515

http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms

设置openwrt-dnsmasq使局域网用户自动发现kms激活服务器

py-kms与vlmcsd的适用性真的非常之广,不管你在windows,linux下甚至安卓下都可以搭建私有的kms服务。但是最后都会遇到的问题是需要在被激活主机上运行批处理命令,不免有些繁琐。

曾闻中国某高等学府批量购买企业windows许可,你的电脑只要连入校园网,不需要任何配置就可以激活系统,不免神往。查资料发现,这是通过配置DNS服务器的SRV项实现局域网内主机自动发现kms激活服务器的。

刚好我的路由器跑着openwrt系统,可以配置dnsmasq提供SRV功能,于是ssh进入路由器后台,在/etc/dnsmasq.conf中添加配置:

  1. srv-host=_vlmcs._tcp.lan,cubietruck.lan,,,

其中 _vlmcs._tcp 为服务名;lan 为我的内网域名;cubietruck.lan为我的cubieboard在内网的地址;1688为kms激活服务默认端口号;0为优先级;100为权重。

然后在路由器中重启dnsmasq服务

  1. /etc/init.d/dnsmasq restart

切换至windows验证dns配置是否正确,打开命令提示符,运行命令:

  1. nslookup -type=srv _vlmcs._tcp.lan

其中 _vlmcs._tcp 表示kms服务类型,lan为我的局域网域名称。

看到返回信息:

  1. _vlmcs._tcp.lan SRV service location:
  2. priority =
  3. weight =
  4. port =
  5. svr hostname = cubietruck.lan
  6. cubietruck.lan internet address = 192.168.1.126

说明dns配置正确。

这时候看看我自己电脑上的office能不能成功发现kms服务器,还是在管理员权限下运行命令:

  1. CD "%ProgramFiles(x86)%\MICROSOFT OFFICE\OFFICE15"
  2. CSCRIPT OSPP.VBS /remhst
  3. CSCRIPT OSPP.VBS /act
  4. CSCRIPT OSPP.VBS /dstatus

其中第一行表示清除之前设置的kms激活服务器地址,第二行手动激活,第三行显示激活状态。最终看到信息

  1. REMAINING GRACE: days ( minute(s) before expiring
  2. Last characters of installed product key: XTGCT
  3. Activation Type Configuration: ALL
  4. KMS machine name from DNS: cubietruck.lan:
  5. Activation Interval: minutes
  6. Renewal Interval: minutes
  7. KMS host caching: Enabled
  8. ---------------------------------------
  9. ---------------------------------------
  10. ---Exiting-----------------------------

其中

  1. KMS machine name from DNS: cubietruck.lan:

表示能够根据DNS自动发现局域网内的kms激活服务器为cubietruck.lan。

说明office可以完全免配置自动激活。

以后任何电脑只要连接入我的局域网,即可对其VOL版本的office以及windows进行自动激活工作。cool~

参考:

http://blog.14401.cn/post-166.html

http://www.cnblogs.com/zhuangxuqiang/archive/2009/04/28/1445113.html

https://support.microsoft.com/en-us/kb/816587

补充下windows的手动激活命令

  1. slmgr -upk
  2. slmgr -ipk (windowsVOLkey,windows10VOL = W269N-WFGWX-YVC9B-4J6C9-T83GX )
  3. slmgr -skms KMS服务器IP,如果配好了DNS,这个也不用输吧)
  4. slmgr -ato
  5. slmgr -xpr

cubieboard中使用py-kms与dnsmasq搭建局域网内全自动KMS激活环境的更多相关文章

  1. 生产环境轻量级dns服务器dnsmasq搭建文档

    dnsmasq搭建文档 一.生产环境域名解析问题 之前生产环境设备较少,是通过维护master(192.168.1.1)设备的hosts文件实现的.每次新增设备后,需要在master的hosts文件中 ...

  2. Linux搭建局域网yum源和后期在yum源中更新rpm包方法

    在内网中搭建自己的yum源,可以方便在内网中使用,下面简单介绍搭建局域网yum源的方法和后期更新yum源rpm包的方法. 一.搭建局域网yum源 1.需要在局域网访问,首先需要一个web服务器,比如a ...

  3. CentOS下使用Postfix + Dovecot + Dnsmasq搭建极简局域网邮件系统

    背景 开发环境为局域网,工作内容需要经常查看邮件文件(*.eml),可恶的Foxmail必须验证账户才能进入主界面,才能打开eml文件查看. 无奈搭一个局域网内的邮件系统吧.极简搭建,仅用于通过Fox ...

  4. 烂泥:dnsmasq搭建简易DNS服务器

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 今天我们来介绍一个比较简单的DNS服务器dnsmasq.这款软件,已经被我成功使用到公 ...

  5. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  6. python3 module中__init__.py的需要注意的地方

    网上关于__init__.py的作用的资料到处都是,我在此就不再啰嗦哪些了. 若有需要.请各位看官去搜搜即可. 最近刚开始用Python3 就遇到了这个比较有意思的事情 闲言少叙,下面要介绍的是pyt ...

  7. eclipse中去掉py文件中烦人的黄色弹框

    eclipse中写py文件,当鼠标点击在参数上时总是出现黄线的弹框,影响人操作,感觉特别烦,如下: 解决方案: windows--preferences--hover--pydev--hover取消选 ...

  8. Python包中 __init__.py文件的作用

    原创连接 https://www.cnblogs.com/AlwinXu/p/5598543.html Python包中 __init__.py文件的作用 在创建python包的过程中,IDE都会在包 ...

  9. python中执行py文件出错(提示File “<stdin>”,line 1,SyntaxError:invalid syntax)

    解决办法: 上图中已通过输入python进入了python运行环境,出现>>>时候的不能再用python z.py 来运行hello.py文件: 应该通过exit()退出当前pyth ...

随机推荐

  1. 第一个Linux驱动-流水灯【转】

    转自:http://www.xuebuyuan.com/1856562.html 水平有限,描述不当之处请指出,转载请注明出处http://blog.csdn.net/vanbreaker/artic ...

  2. PowerDesigner导出表到word

    一.模版修改 在导出表时,powerdesigner默认为我们提供了很多的模版,在工具栏中选择[Report--->Report Template]//// [被翻译成报告(Report)--- ...

  3. ffmpeg mp4转yuv

    mp4转yuv ffmpeg -i test.mp4 test.yuv 播放yuv ffplay.exe -f rawvideo -video_size 1280x720 -i test.yuv

  4. Hadoop集群(第3期)_VSFTP安装配置

    1.VSFTP简介 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 安全性是编写VSF ...

  5. 基于百度地图js进行地理定位

    http://www.mengxiangchaoren.com/jquery.select.position.min.js 使用方法 $("#myCity").renderSele ...

  6. POJ 2774 (后缀数组 最长公共字串) Long Long Message

    用一个特殊字符将两个字符串连接起来,然后找最大的height,而且要求这两个相邻的后缀的第一个字符不能在同一个字符串中. #include <cstdio> #include <cs ...

  7. Drawable和Bitmap的区别

    Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好 ...

  8. 类的加载到反射reflect

    类的加载: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化这三个步骤来实现对这个类进行初始化. 加载: 就是指将class文件加载进入内存,并为之创建一个Class对 ...

  9. 【转】strcpy溢出的攻击示例

    在学习c/c++的时候,就讲到了一些C类型的字符串函数不是安全的,比如strcpy没有检查长度会溢出,推荐使用strncpy,笔试面试也经常问到.同时经常浏览安全相关的新闻,缓冲区溢出攻击是很常见的一 ...

  10. 中文分词系列(一) 双数组Tire树(DART)详解

    1 双数组Tire树简介 双数组Tire树是Tire树的升级版,Tire取自英文Retrieval中的一部分,即检索树,又称作字典树或者键树.下面简单介绍一下Tire树. 1.1 Tire树 Trie ...