KMS服务器提供本地化、自动续期的批量激活机制,适用于域环境或可控内网;含五种实施方式:部署KMS主机(Server/Win10)、DNS自动发现、VAMT远程管理、PowerShell脚本自动化。

当企业需为多台Windows 10设备集中完成激活时,若逐台手动输入密钥或依赖互联网连接验证,将显著降低效率并增加管理复杂度。KMS服务器提供本地化、自动续期的批量激活机制,适用于已部署域环境或具备可控内网条件的组织。以下是实现Win10批量激活的多种可行办法:
一、部署KMS主机服务器(Windows Server环境)
该方法适用于拥有Windows Server 2019/2022标准版或数据中心版的IT基础设施,通过角色服务原生支持KMS功能,稳定性与兼容性最佳。
1、以管理员身份登录Windows Server,打开“服务器管理器”。
2、点击“添加角色和功能”,进入向导界面,选择“基于角色或基于功能的安装”。
3、在“服务器角色”页面中,勾选“Volume Activation Services”(卷激活服务),确保同时选中“Key Management Service”和“Volume Activation Tools”子组件。
4、完成安装后,重启服务器,打开“服务器管理器→工具→KMS主机配置”。
5、输入从VLSC(微软批量授权服务中心)获取的Windows 10 KMS主机密钥(例如:W269N-WFGWX-YVC9B-4J6C9-T83GX),设置激活阈值为25、续订周期为180天。
6、执行命令:slmgr /ato完成KMS主机自身联网激活;运行net start sppsvc确保软件保护服务已启动。
二、在Windows 10专业版上部署KMS主机(轻量级方案)
该方法适用于无专用服务器资源的小型团队,利用Windows 10专业版系统直接承载KMS服务,但仅支持激活客户端操作系统(如Win10/Win8.1/Win7),不可激活Windows Server系统。
1、以管理员身份运行PowerShell,执行:Install-WindowsFeature -Name VolumeActivation -IncludeManagementTools(如提示不可用,改用DISM启用:dism /online /enable-feature /featurename:ServerManager-PSH-Cmdlets /all /norestart)。
2、导入KMS主机密钥:slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX(使用对应版本密钥)。
3、执行slmgr.vbs /ato进行在线激活;若网络受限,可运行slui.exe 4启动电话激活界面。
4、配置防火墙放行TCP端口1688:New-NetFirewallRule -DisplayName "KMS Port 1688" -Direction Inbound -Protocol TCP -LocalPort 1688 -Action Allow。
5、验证服务状态:slmgr /dlv,确认输出中显示“KMS主机已激活”且“计数器已重置”。
三、客户端侧全自动DNS发现激活
该方法依赖标准DNS基础设施,使客户端无需手动指定KMS地址,通过SRV记录自动定位服务器,大幅降低终端配置工作量。
1、在DNS服务器上为KMS主机创建SRV记录:_vlmcs._tcp.domain.com. TTL 3600 IN SRV 0 100 1688 kms-server.domain.com.(其中domain.com为实际域名,kms-server.domain.com为KMS主机FQDN)。
2、确保所有客户端DNS设置指向该DNS服务器,并已加入同一AD域或能解析该域名。
3、在任一客户端以管理员身份运行命令提示符,执行:slmgr /skms kms-server.domain.com(此步可省略,因DNS发现优先级更高)。
4、强制触发激活:slmgr /ato;系统将自动查询DNS SRV记录并连接KMS主机。
5、检查结果:slmgr /dli应显示“批量许可密钥”及“剩余激活计数”,slmgr /xpr应返回“该机器将永久激活”。
四、使用VAMT工具远程批量配置与激活
该方法适用于无法统一部署DNS或需跨子网管理的场景,通过批量激活管理工具(VAMT)集中下发KMS配置并验证状态,支持详细日志与报表生成。
1、在管理机上安装VAMT(含于Windows Assessment and Deployment Kit中),以域管理员账户运行。
2、在VAMT中点击“文件→添加计算机”,支持导入CSV列表、AD域扫描或IP范围枚举。
3、右键目标计算机组,选择“激活→使用KMS激活”,在弹出窗口中选择“在此域中查找支持产品的使用DNS的KMS主机”或手动输入KMS主机名与端口1688。
4、勾选“清除现有KMS配置”选项,确保客户端使用统一策略。
5、点击“激活”,VAMT将自动执行slmgr /skms与slmgr /ato命令,并实时反馈每台设备的返回码与错误信息。
6、导出激活报告:点击“文件→导出→激活状态报告”,生成含计算机名、产品ID、激活状态、时间戳的Excel文件。
五、PowerShell脚本一键部署客户端KMS配置
该方法适用于无GUI环境或需集成至自动化运维流程的场景,通过纯命令行方式批量推送KMS设置,支持版本识别与错误捕获。
1、在管理机上创建PowerShell脚本activate-kms.ps1,内容包含:$kmsServer = "kms-server.domain.com"; $computers = Get-ADComputer -Filter * -SearchBase "OU=Workstations,DC=domain,DC=com"。
2、循环遍历每台计算机:Invoke-Command -ComputerName $comp.Name -ScriptBlock { slmgr /skms $using:kmsServer; slmgr /ato }。
3、添加异常处理:捕获返回值非0的情况,写入日志文件,例如:if ($LASTEXITCODE -ne 0) { Add-Content "failures.log" "$comp.Name - $($Error[0].Exception.Message)" }。
4、执行脚本前,在所有目标客户端预先启用PowerShell远程处理:Enable-PSRemoting -Force,并在防火墙中开放WinRM端口(5985)。
5、运行脚本后,使用Get-ADComputer -Filter * | ForEach-Object { Invoke-Command -ComputerName $_.Name -ScriptBlock { slmgr /dli } }批量验证结果。











