问:自建kms服务器干什么?
答:懂得都懂,不懂的说了也不懂,你也别问,利益牵扯太大,说了对你们没好处,我只能说水很深,网上的资料都删了,所以我只能说懂得都懂,不懂也没办法~

搭建KMS服务器
1.准备linux系统
建议使用CentOS7
https://www.centos.org/download/
2.安装wget
yum -y install wget
3.在root账户下运行命令:
#下载vlmcsd
wget https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz
#解压
tar -zxvf binaries.tar.gz
#进入对应目录
cd binaries/Linux/intel/static
#将vlmcsd的二进制文件拷贝到/usr/sbin
cp vlmcsd-x64-musl-static /usr/sbin/vlmcsd
#开放TCP的1688端口
firewall-cmd --zone=public --add-port=1688/tcp --permanent
#重启防火墙
firewall-cmd --reload
#一些常用的vlmcsd命令
-L <address>[:<port>] 监听IP地址<地址>,可选<端口>
-P <port> 设置TCP端口<端口>的后续-L语句(默认1688)
-F0 -F1 禁用/启用绑定到外部IP地址
-e 日志到标准输出
-D 在前台运行
-R <interval> 每<间隔>更新激活一次(默认1w)
-A <interval> 每<间隔>重试激活一次(默认2h)
-v 日志详细
-q 不记录详细(默认)
-V 显示版本信息并退出
#------------------------------------------------------#
#额外步骤(非必要)
#yum安装net-tools工具集
yum -y install net-tools
#输入netstat -apn | grep 'vlmcsd'可查看是否运行(如下)
[root@localhost]# netstat -apn | grep 'vlmcsd'
tcp 0 0 0.0.0.0:1688 0.0.0.0:* LISTEN 13659/vlmcsd
tcp6 0 0 :::1688 :::* LISTEN 13659/vlmcsd
------------------------
vlmcsd Github主页:https://github.com/Wind4/vlmcsd
运行命令关闭自动休眠
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
以上便完成了kms服务器的搭建,一般教程也就到这里结束了,那么我也就结束了(bushi

实现域服务器内自动激活
1. 在域服务器上,打开 DNS管理器

2.在控制台树中,展开正向查找区域,右键单击该域,然后单击其他新记录。

3. 向下滚动列表,单击服务位置 (SRV),然后单击创建记录。

4. 键入以下信息:
a. 服务:_VLMCS
b. 协议:_TCP
c. 端口号: 1688
d. 提供服务的主机:之前那台kms服务器的ip地址

5. 完成后,单击确定,然后单击完成。
在域内的电脑只要是批量版(VL)的系统或office即可自动激活

激活脚本
该脚本可以帮助没有加域的电脑使用你所创建的内网kms激活系统或office
kms服务器只能激活批量版,不能激活零售版
该代码不可直接使用,需要修改kms地址,请仔细查看批处理命令
该代码不可直接使用,需要修改kms地址,请仔细查看批处理命令
该代码不可直接使用,需要修改kms地址,请仔细查看批处理命令
例子:代码内:ping -n 1 (此处输入你的kms地址) | find "超时" > NUL && goto fail
修改为:ping -n 1 172.16.10.38 | find "超时" > NUL && goto fail
@echo off
title 内网kms激活助手
color f9
cls
::申请管理员权限
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:start
cls
echo 注意:仅在内网情况下可以激活
echo.
echo 正在检查与激活服务器的连接情况......请耐心等待
ping -n 1 (在此处输入你的kms地址) | find "超时" > NUL && goto fail
ping -n 1 (在此处输入你的kms地址) | find "目标主机" > NUL && goto fail
ping -n 1 (在此处输入你的kms地址) | find "无法访问" >nul && goto fail
ping -n 1 (在此处输入你的kms地址) | find "故障" >nul && goto fail
ping -n 1 (在此处输入你的kms地址) | find "找不到" >nul && goto fail
echo 成功连接
echo.
:menu
echo 请选择项目:
echo = = = = = = = = = = = = = = = = = = = = = =
echo 【1】安装 Windows10 Pro 密钥 并设置 激活服务器(Win11 Pro通用)
echo 【2】设置 Office LTSC 激活服务器 (office16以上)
echo.
echo 【3】仅设置 Windows 激活服务器
echo.
echo 注意:本工具仅能帮助连接内网的激活认证服务器
echo 【0】检查激活状态
echo = = = = = = = = = = = = = = = = = = = = = =
echo.
:select
set /p a=请输入数字后回车:
If "%a%"=="0" goto check
If "%a%"=="1" goto Windows10key
If "%a%"=="2" goto Office16
If "%a%"=="3" goto kms
echo.&echo 输入无效,请重新输入.
pause >nul
goto select
:Windows10key
cls
echo -------------------------------------------
echo 正在安装 Windows10 Pro 密钥...(Win11通用)
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
echo.
echo 连接激活服务器...
echo 会有几个窗口弹出需要手动确认
slmgr /skms (在此处输入你的kms地址):1688
timeout /nobreak /t 1 >nul
echo 重启激活服务...
slmgr /ato
echo -------------------------------------------
echo.
echo 请查看是否完成
echo.
pause
cls
goto menu
:Office16
cls
echo -------------------------------------------
echo 连接激活服务器...
cd "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /sethst:(在此处输入你的kms地址)
timeout /nobreak /t 1 >nul
echo 重启激活服务...
cscript ospp.vbs /act
echo -------------------------------------------
echo.
echo 请查看是否完成
echo.
pause
cls
goto menu
:kms
echo 连接激活服务器...
echo 会有几个窗口弹出需要手动确认
slmgr /skms (在此处输入你的kms地址):1688
timeout /nobreak /t 1 >nul
echo 重启激活服务...
slmgr /ato
echo 命令执行完毕
pause
cls
goto menu
:check
cls
echo office激活查看命令行窗口,系统激活会弹出窗口
echo.
timeout /nobreak /t 1 >nul
cscript "C:\Program Files\Microsoft office\Office16\ospp.vbs" /dstatus
echo.
echo 以上为office激活状态
timeout /nobreak /t 2 >nul
echo.
slmgr.vbs -dli
pause
cls
goto menu
:fail
echo.
echo 无法连接到服务器 QAQ
echo.
pause
exit
零售版系统改批量许可请查阅下方文档
# 密钥管理服务 (KMS) 客户端激活和产品密钥 - Microsoft Learn
https://learn.microsoft.com/zh-cn/windows-server/get-started/kms-client-activation-keys?tabs=server2022%2Cwindows1110ltsc%2Cversion1803%2Cwindows81