最近Office又到期啦,KMS脚本又被Defender杀掉了,懒得又重新加入白名单,所以干脆用云主机做一个激活服务器好了。

 

 

准备好一台云服务器,如果没有云服务器用VMware之类的运行一个Linux系统也是可以的,原理一样,毕竟只是用来运行一下docker容器。

这里就以Ubuntu 16.04为例。

首先安装Docker,对Docker不熟悉的话可以参考一下在Ubuntu中安装Docker和docker的使用,只需要安装完Docker就好。

安装完毕后,执行 sudo docker pull mikolatero/vlmcsd 拉取vlmcsd的镜像,随后执行 sudo docker run -d -p 1688:1688--restart=always --name="office_vlmcsd" mikolatero/vlmcsd 启动服务。如果用的是云服务器的话记得在安全组中开启TCP的1688端口,如:

随后在想要激活Office的机子上安装好Office,根据其他资料来看应该要安装VOL才可以激活。我之前本机装的就是一个VOL的2016,非VOL的没测试过。(2021.3.28补充测试,见下方)

用管理员权限打开powershell,没有的话cmd也可以。输入 cscript ospp.vbs /sethst:123.123.123.123 配置激活服务器的ip地址,这里应该填写服务器的公网地址,如果是虚拟机的话需要使用在虚拟机里用ipconfig或者ip addr show查看一下虚拟机的ip(VMware的话应该要用桥接模式或者专用网络ipv4地址,不要搞混了)。继续输入 cscript ospp.vbs /setprt:1688 配置端口,当然了如果运行容器时替换过主机端口的话这里就填写替换的端口。之后输入 cscript ospp.vbs /act 就激活完毕了。

查看激活状态的指令是 cscript ospp.vbs /dstatus

最后,如果是使用云服务器运行vlmcsd的话,建议关闭安全组的公网端口(怕你万一被喝茶www)。当然也可以退出服务,下次需要激活的时候重新运行和开放端口即可。

sudo docker ps -a
#找到vlmcsd的id
sudo docker container stop id
sudo service docker stop

偷懒的话也可以不关闭容器和安全组端口,这样的话就会自动续订,不需要每隔180天手动再active一次。

 


接下来可以按Dwarven/vlmcsd - 激活OFFICE操作。

另外如果在运行cscript ospp.vbs的时候遇到错误:

输入错误: 无法找到脚本文件“C:\WINDOWS\system32\ospp.vbs”

或者想以后打开Shell后直接输入激活命令,可以全盘搜索一下或者在office的安装文件夹中找到ospp.vbs文件,连同OSPP.HTM文件一起一同复制粘贴到 C:\WINDOWS\system32\ 下,在运行上述配置和激活指令的时候正常打印如下:

PS C:\WINDOWS\system32> cscript ospp.vbs /sethst:123.123.123.123
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
Successfully applied setting.
---------------------------------------
---Exiting-----------------------------
PS C:\WINDOWS\system32> cscript ospp.vbs /setprt:1688
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
Successfully applied setting.
---------------------------------------
---Exiting-----------------------------
PS C:\WINDOWS\system32> cscript ospp.vbs /act
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
Installed product key detected - attempting to activate the following product:
SKU ID: 12345-12345-12345-12345-12345
LICENSE NAME: Office 16, Office16ProPlusVL_KMS_Client edition
LICENSE DESCRIPTION: Office 16, VOLUME_KMSCLIENT channel
Last 5 characters of installed product key: 12345
<Product activation successful>
---------------------------------------
---------------------------------------
---Exiting-----------------------------

 


2021.1.13补充:

如果遇到:

输入错误: 没有文件扩展“.obs”的脚本引擎。

大概率是看了用 docker 搭建 kms 服务器,其实把命令中的obs改成vbs就好了,估计是原作者笔误了。

至于win10系统的激活顺带补充一下,根据Dwarven/vlmcsd - 2.Windows 激活方法操作即可。

 

2021.3.28补充:

从I TELL YOU上下载了零售版,确实无法激活。从kms激活visio2016附转VOL方法找了个脚本,转VOL后测试可行。脚本如下:


@ECHO OFF&PUSHD %~DP0
 
setlocal EnableDelayedExpansion&color 3e & cd /d "%~dp0"
title office2016 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"
 
: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. --------------------------------------------------------------------------------
                                                        
set /p tsk="请输入需要转化的office版本序号【回车】确认(1-3): "
if not defined tsk goto:err
if %tsk%==1 goto:1
if %tsk%==2 goto:2
if %tsk%==3 goto:3
 
:err
goto:WH
 
:1
cls
 
echo 正在重置Office2016零售激活...
cscript ospp.vbs /rearm
 
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
 
echo 正在安装 KMS 密钥...
cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
 
goto :e
 
:2
cls
 
echo 正在重置Visio2016零售激活...
cscript ospp.vbs /rearm
 
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
 
echo 正在安装 KMS 密钥...
cscript ospp.vbs /inpkey:PD3PC-RHNGV-FXJ29-8JK7D-RJRJK
 
goto :e
 
:3
cls
 
echo 正在重置Project2016零售激活...
cscript ospp.vbs /rearm
 
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
 
echo 正在安装 KMS 密钥...
cscript ospp.vbs /inpkey:YG9NW-3K39V-2T3HJ-93F3Q-G83KT
 
goto :e
 
:e
echo.
echo 转化完成,按任意键退出!
pause >nul
exit

当查询激活信息时发现有多余的产品key,可以用 cscript .\OSPP.VBS /unpkey:XXXXX 来卸载。