快速搭建一个简易的KMS 服务
xu言:
之前,闹的沸沸扬扬的KMS激活工具自身都存在问题的事。让我们对以前的什么小马激活、kms激活、各种激活工具都去打了一个深深的“?”,到底哪些能用。哪些不能用。有些还注明的里面必须要关闭杀毒软件,以免误杀。。。但是这样真的安全吗?带着这样的疑问去调研了下如何自建KMS。
经过了解发下了一个适合“懒人”用的 一键KMS搭建~
https://github.com/ThunderEX/py-kms
https://github.com/SystemRage/py-kms (支持2019 Win and Office) # 20210818 更新,安装方法大同小异
https://github.com/dylanbai8/kmspro (支持更多版本)# 20220822更新
Features(功能及支持的系统)
- Responds to V4, V5, and V6 KMS requests.
- Supports activating Windows 7/8/8.1/10/2008R2/2012/2012R2/2016 and Office 2010/2013/2016.
- It's written in Python.
Dependencies(依赖的环境)
- Python 2.6 or higher, micropython v1.9 or higher.
- Python 2.6 needs the "argparse" module installed.
- Micropython needs libpcre and libffi, and modules in micropythonlib, check section below.
Usage(使用方法)
- To start the server, execute
python server.py [listen_address] [port]
. The default listening address is0.0.0.0
(all interfaces) and the default port is1688
. - To run the client, use
python client.py server_address [port]
. The default port is1688
. - To run on ipv6, please use a valid ipv6 address, for example
::
for broadcast.
Note: 基本上通过这个激活的大部分下载的系统盘都是VOL或者非零售版本的操作系统及Office软件。不然可能不能正常激活。
如果想windows上使用就直接下载zip包,linux作为服务器就git clone下来吧。
默认使用的是1688端口。
服务端架设篇
让其在linux后台执行
查看端口是否已经开启监听
打开防火墙
sudo firewall-cmd --add-port=1688/tcp --permanent
sudo systemctl reload firewalld
客户端激活篇
# 查看操作系统版本
wmic os get caption
# 激活windows
slmgr /skms x.x.x.x
slmgr /ato
OR
slmgr /skms x.x.x.x && slmgr /ato
验证结果:
slmgr.vbs -xpr
slmgr.vbs -dli
# 2020.03.16 遇到一例 windows LSB 2016 长期支持版 无法激活的问题
后面使用 slmgr /upk 和 slmgr /rearm 重置机器授权,在加额外的激活软件解决
# 2020.09.02 遇到win7 旗舰版 7600提示 "在运行microsoft windows 非核心版本的计算机上,运行"slui.exe 0x2a 0x80040111"
MVG64-RQDVY-KB9RM-MX9WT-MW824
如果要安装序列号用 /ipk命令
# 2020.10.10 遇到Win2008R2 Enterprise 激活后右下角有"水印"问题,处理方法
SLMGR -REARM ,并且重启一次
# 2022.08.25 OFFICE 激活时 ERROR CODE: 0xC004F069 问题(office的授权文件没有注册导致的)# 仅针对OFFICE2019 专业增强版
@echo off SET OfficePath=%ProgramFiles%Microsoft Office if not exist "%OfficePath%\root\Licenses16" SET OfficePath=%ProgramFiles(x86)%\Microsoft Office echo LOKI if not exist "%OfficePath%\root\Licenses16" ( echo Could not find the license files for Office 2019! echo "%OfficePath%root\Licenses16" pause goto :eof ) echo Press Enter to start VL-Conversion... echo. pause echo. cd /D "%SystemRoot%\System32" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProjectPro2019VL_KMS_Client_AE-ppd.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProjectPro2019VL_KMS_Client_AE-ul-oob.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\ProjectPro2019VL_KMS_Client_AE-ul.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\VisioPro2019VL_KMS_Client_AE-ppd.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\VisioPro2019VL_KMS_Client_AE-ul-oob.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\VisioPro2019VL_KMS_Client_AE-ul.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\SkypeforBusiness2019VL_KMS_Client_AE-ppd.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\SkypeforBusiness2019VL_KMS_Client_AE-ul.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\SkypeforBusiness2019VL_KMS_Client_AE-ul-oob.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms" cscript "%OfficePath%\Office16\ospp.vbs" /inslic:"%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms" :eof
rem 激活office
cscript ospp.vbs /sethst:x.x.x.x
cscript ospp.vbs /act
OR
cscript ospp.vbs /sethst:x.x.x.x && cscript ospp.vbs /act
验证结果: 找到你office的安装目录下面执行:
cscript ospp.vbs /dstatus
看服务器地址是否已经指向你自己假设的服务器上面
关于网上发现的一个零售版转VOL的批处理 (待验证)
@ECHO OFF&PUSHD %~DP0 setlocal EnableDelayedExpansion&color 2 & cd /d "%~dp0" title office系列 retail转换vol版 %1 %2 mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof :runas if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16" if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16" if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office15" if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office15" if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office14" if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office14" :WH cls echo. echo 选择需要转化的office版本序号---来自互联网 echo. echo -------------------------------------------------------------------------------- echo 1. 零售版 Office Pro Plus 2016 转化为VOL版 echo. echo 2. 零售版 Office Visio Pro 2016 转化为VOL版 echo. echo 3. 零售版 Office Project Pro 2016 转化为VOL版 echo. echo 4. 零售版 Office Pro Plus 2013 转化为VOL版 echo. echo 5. 零售版 Office Visio Pro 2013 转化为VOL版 echo. echo 6. 零售版 Office Project Pro 2013 转化为VOL版 echo. echo 7. 零售版 Office Pro Plus 2010 转化为VOL版 echo. echo 8. 零售版 Office Visio Pro 2010 转化为VOL版 echo. echo 9. 零售版 Office Project Pro 2010 转化为VOL版 echo. echo. -------------------------------------------------------------------------------- set /p tsk="请输入需要转化的office版本序号【回车】确认(1-9): " if not defined tsk goto:err if %tsk%==1 goto:1 if %tsk%==2 goto:2 if %tsk%==3 goto:3 if %tsk%==4 goto:4 if %tsk%==5 goto:5 if %tsk%==6 goto:6 if %tsk%==7 goto:7 if %tsk%==8 goto:8 if %tsk%==9 goto:9 :err goto:WH :1 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses16\proplusvl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses16\proplusvl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 goto :e :2 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses16\visio???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses16\visio???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul cscript ospp.vbs /inpkey:PD3PC-RHNGV-FXJ29-8JK7D-RJRJK goto :e :3 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses16\project???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses16\project???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul cscript ospp.vbs /inpkey:YG9NW-3K39V-2T3HJ-93F3Q-G83KT goto :e :4 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses15\proplusvl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses15\proplusvl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul set /p y=请输入激活密钥,按回车确定: cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT goto :e :5 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses15\visio???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses15\visio???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul cscript ospp.vbs /inpkey:C2FG9-N6J68-H8BTJ-BW3QX-RM3B3 goto :e :6 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses15\project???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses15\project???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses15\%%x" >nul cscript ospp.vbs /inpkey:FN8TT-7WMH6-2D4X9-M337T-2342K goto :e :7 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses14\proplusvl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses14\proplusvl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul cscript ospp.vbs /inpkey:VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB goto :e :8 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses14\visio???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses14\visio???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul cscript ospp.vbs /inpkey:7MCW8-VRQVK-G677T-PDJCM-Q8TCP goto :e :9 cls echo 正在安装 KMS 许可证... for /f %%x in ('dir /b ..\root\Licenses14\project???vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul echo 正在安装 MAK 许可证... for /f %%x in ('dir /b ..\root\Licenses14\project???vl_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses14\%%x" >nul cscript ospp.vbs /inpkey:YGX6F-PGV49-PGW3J-9BTGG-VHKC6 goto :e :e echo. echo 转化完成,按任意键退出! pause >nul exit
参考资料:https://v0v.bid/kms.php # 20220822
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库