準備工做:
1.一臺刷了merlin的路由器
2.個人環境,AC66U,merlin380.58(如今使用380.59)
3.arm架構的路由器如ac68u一樣適用
4.推薦你們購買正版,本帖目的在於討論如何實現免配置自動激活的技術
1、部署kms服務
經常使用的KMS激活服務器程序爲py-kms與vlmcsd,分別爲python和C語言版本。可運行於各類類linux和windows及mac os環境中。
我的比較喜歡vlmcsd,雖然須要編譯,可是不用在路由器端安裝python環境。
我在ac66u中部署vlmcsd的流程以下
1.開啓jffs和ssh(或telnet),登錄路由器管理界面,經過系統管理-系統設置開啓jffs和ssh(或telnet,須要從新啓動,格式化jffs)以下圖:php
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目錄下python
不知道爲何個人ac68u(380.61),sftp出錯。須要ftp到web,在wget下載。
4.經過ssh或telnet鏈接路由器
賦予vlmcsd可執行權限
chmod 700 vlmcsd
啓動vlmcsdlinux
/jffs/vlmcsd
使用命令netstat -an |grep 1688 獲得返回結果以下:git
kms服務部署完成github
5.手動激活office(非必要步驟)web
Windows下使用管理員權限打開命令提示符(cmd) 執行如下命令(#開頭的爲註釋,請忽略):windows
#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/*
2、實現局域網用戶免配置自動激活(我本身測試不經過,若是不是不少機器的話,上面的手動激活就夠了。)
雖然經在路由器部署完成了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,又能正常激活。搞不懂