段落1、需求描述
项目上,内网有一堆Windows Server服务器,需要激活,这个内网环境,让它联网是不合规的,这个场景的Windows激活,比较好的方式就是 KMS方式的激活,本教程就来演示一下,如何配置一台内网的 KMS Server,用它来激活其他内网主机的Windows系统。
段落2、资源
普通规格的1核心 1GB 20GB磁盘的 内网网段的虚机一台
Github项目的二进制文件 https://github.com/Wind4/vlmcsd/releases
段落3、安装配置KMS Server
下载KMS的二进制文件(这里,你们内网,根据实际情况,可以自己本机下载后,再上传到内网环境)
cd /root wget --no-check-certificate https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz tar -xvf binaries.tar.gz cd binaries/Linux/intel/static/ cp vlmcsd-x64-musl-static /usr/bin/ chmod +x /usr/bin/vlmcsd-x64-musl-static
执行 /usr/bin/vlmcsd-x64-musl-static 试运行一下,无报错提示,能看到 1688端口的监听,则表明程序已正常开启。
段落4、激活Windows
登录需要激活的内网Windows虚机,从网络随意找一些可以匹配到Windows版本的序列号,使用如下的命令,执行激活,替换其中的10.11.11.218为你刚刚配置的那台 KMS Server的内网地址
slmgr /ipk 22TKD-F8XX6-YG69F-9M66D-PMJBM slmgr /skms 10.11.11.218 slmgr /ato
在 控制面板\系统和安全\系统 可以看到系统已激活。
或者执行 slmgr /dlv 也可以查看激活的状态信息
段落5、配置KMS Server的程序为systemd服务,开机自启动
[Unit] Description=KMS Server After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s ExecStart=/usr/bin/vlmcsd-x64-musl-static LimitNOFILE=1048576 [Install] WantedBy=multi-user.target
段落6、防火墙,端口放行(如果需要)
如果KMS Server有防火墙,注意iptables / firewalld 放行一下 TCP/1688端口
# CentOS firewall-cmd --zone=public --add-port=1688/tcp –permanent firewall-cmd –reload firewall-cmd –zone=public –list-ports
附录1、激活相关命令
slmgr /upk #卸载密钥 slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx #配置系统序列号 slmgr /skms 10.160.1.201 #配置KMS服务器地址 slmgr /ato #激活系统 slmgr /xpr #查看系统激活到期时间 slmgr /dlv #查看授权详细信息