【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
准备工作:
1.一台刷了merlin的路由器
2.我的环境,AC66U,merlin380.58(现在使用380.59)
3.arm架构的路由器如ac68u同样适用
4.推荐大家购买正版,本帖目的在于讨论如何实现免配置自动激活的技术
一、部署kms服务
常用的KMS激活服务器程序为py-kms与vlmcsd,分别为python和C语言版本。可运行于各种类linux和windows及mac os环境中。
个人比较喜欢vlmcsd,虽然需要编译,但是不用在路由器端安装python环境。
我在ac66u中部署vlmcsd的流程如下
1.开启jffs和ssh(或telnet),登陆路由器管理界面,通过系统管理-系统设置开启jffs和ssh(或telnet,需要重新启动,格式化jffs)如下图:
2.通过官方下载vlmcsd可执行文件(官方提供源码及一堆各环境下的编译好的可执行文件,有兴趣可以自己编译https://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms)。
3.上传vlmcsd可执行文件到路由器
mips架构的路由器使用/binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-uclibc-static
arm架构的路由器使用/binaries/Linux/arm/little-endian/static/vlmcsd-armv7el-uclibc-static
将文件重命名为vlmcsd,通过xftp,winscp等工具上传到路由器/jffs目录下
不知道为什么我的ac68u(380.61),sftp出错。需要ftp到web,在wget下载。
4.通过ssh或telnet连接路由器
赋予vlmcsd可执行权限
chmod 700 vlmcsd
启动vlmcsd
/jffs/vlmcsd
使用命令netstat -an |grep 1688 得到返回结果如下:
kms服务部署完成
5.手动激活office(非必要步骤)
Windows下使用管理员权限打开命令提示符(cmd) 执行以下命令(#开头的为注释,请忽略):
#office2010 32位版本:
#cd "%ProgramFiles(x86)%\Microsoft Office\Office14"
#office2013 64位版本:
cd "%ProgramFiles%\Microsoft Office\Office15"
cscript ospp.vbs /sethst:192.168.2.1
cscript ospp.vbs /act
cscript ospp.vbs /dstatus
以上四行的大意是:1.切换到office2013目录;2.设置激活服务器地址为192.168.2.1,即你的内网kms服务器地址(即路由地址);3.激活;4.查看激活状态。得到返回信息如下:
6.添加路由启动自动运行功能
vi /jffs/scripts/init-start
#!/bin/sh
sleep 10
/jffs/vlmcsd
#参照merlin的用户脚本,记得给权限https://github.com/RMerl/asuswrt-merlin/wiki/User-scripts
chmod a+rx /jffs/scripts/*
二、实现局域网用户免配置自动激活(我自己测试不通过,如果不是很多机器的话,上面的手动激活就够了。)
虽然经在路由器部署完成了KMS服务。但是我们却需要在被激活主机上运行批处理命令,是不是有点繁琐呢,接下来通过配置DNS服务器的SRV记录实现被激活主机接入局域网,不需要任何配置就可以激活系统或office。
merlin固件的dnsmasq配置文件为/etc/dnsmasq.conf,添加自定义项需要开启jffs,在/jffs/configs/dnsmasq.conf.add中添加(详见参考2)。srv记录的格式参考merlin源代码dnsmasq中dnsmasq.conf.example(详见参考3)
1.通过ssh或telnet连接路由器
输入命令
echo “srv-host=_vlmcs._tcp,router,1688”>>/jffs/configs/dnsmasq.conf.add
添加srv记录到/jffs/configs/dnsmasq.conf.add.
其中 _vlmcs._tcp 为服务名;router为路由在内网中的网络名称(可通过uname –n查看,或者改路由的设备名称为router);1688为kms激活服务默认端口号;
输入命令service restart_dnsmasq重启dnsmasq服务。如图:
2.Windows下使用管理员打开命令提示符(cmd),使用命令nslookup -type=srv _vlmcs._tcp验证dns配置是否正确,得到返回信息如下图:
nslookup -type=srv _vlmcs._tcp
说明dns配置正确
3.验证office能不能成功发现kms服务器,还是在管理员模式命令提示符(cmd)下运行以下命令:
cd "%ProgramFiles%\Microsoft Office\Office15"
cscript ospp.vbs /remhst
cscript ospp.vbs /act
cscript ospp.vbs /dstatus
其中第一行切换到office目录,第二行表示清除之前设置的kms激活服务器地址,第三行手动激活,第四行显示激活状态。最终看到信息:
说明office可以完全免配置自动激活。以后任何电脑只要连接入局域网,即可对其VOL版本的office以及windows进行自动激活。(我的出错了,借用Nap6正确的图。)
参考:
1. https://support.microsoft.com/en-us/kb/816587
2. https://github.com/RMerl/asuswrt-merlin/wiki/Custom-config-files
3. http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example
4. http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=174651&highlight=kms
貌似dnsmasq不同版本之间,又不同。比如merlin的没有权重。。不做研究了。
后来重新装了win10 16-07版,再装win2013,又能正常激活。搞不懂
来源:oschina
链接:https://my.oschina.net/u/261479/blog/747516