Windows 多版本自动识别激活脚本
内容速览
自动生成
- @echo off setlocal enabledelayedexpansion title Windows 激活与版本检测工具 v6.1 :: --- 自...
- 1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel...
- 检测] 系统名称: %os_name% echo [
@echo off
setlocal enabledelayedexpansion
title Windows 激活与版本检测工具 v6.1
:: --- 自动获取管理员权限 ---
>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" )
pushd "%~dp0"
echo ========================================
echo 系统版本检测 (PowerShell)
echo ========================================
:: --- 提取系统名称 (Caption) ---
for /f "usebackq tokens=*" %%a in (`powershell -NoProfile -Command "(Get-CimInstance Win32_OperatingSystem).Caption"`) do set "os_name=%%a"
:: --- 提取版本型号 (如 24H2, 23H2) ---
for /f "usebackq tokens=*" %%a in (`powershell -NoProfile -Command "(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion"`) do set "os_ver=%%a"
echo [检测] 系统名称: %os_name%
echo [检测] 版本型号: %os_ver%
echo ----------------------------------------
set "active_key="
set "os_label="
:: --- 逻辑匹配开始 ---
:: 1. 匹配 LTSC
echo %os_name% | findstr /i "LTSC" >nul
if !errorlevel! equ 0 (
set "active_key=M7XTQ-FN8P6-TTKYV-9D4CC-J462D"
echo %os_name% | findstr "10" >nul
if !errorlevel! equ 0 (set "os_label=Windows 10 LTSC 2019/2021") else (set "os_label=Windows 11 LTSC 2024")
goto :found
)
:: 2. 匹配 Server 2025
echo %os_name% | findstr /i "2025" >nul
if !errorlevel! equ 0 (
echo %os_name% | findstr /i "Datacenter 数据中心" >nul
if !errorlevel! equ 0 (set "active_key=D764K-2NDRG-47T6Q-P8T8W-YP6DF" & set "os_label=Server 2025 Datacenter") else (set "active_key=TVRH6-WHNXV-R9WG3-9XRFY-MY832" & set "os_label=Server 2025 Standard")
goto :found
)
:: 3. 匹配普通企业版
echo %os_name% | findstr /i "Enterprise 企业版" >nul
if !errorlevel! equ 0 (
set "active_key=NPPR9-FWDCX-D2C8J-H872K-2YT43"
set "os_label=Windows 10/11 Enterprise"
goto :found
)
:found
if "%active_key%"=="" (
echo [错误] 无法匹配当前系统版本。
pause
exit
)
echo [匹配] 目标版本: %os_label%
echo [匹配] 专用密钥: !active_key!
echo.
set /p kms_ip=请输入 KMS IP (默认 192.168.1.74):
if "%kms_ip%"=="" set "kms_ip=192.168.1.74"
echo.
echo [执行] 正在安装密钥并激活...
cscript //nologo %systemroot%\system32\slmgr.vbs -upk >nul 2>&1
cscript //nologo %systemroot%\system32\slmgr.vbs -ipk !active_key!
cscript //nologo %systemroot%\system32\slmgr.vbs -skms %kms_ip%
cscript //nologo %systemroot%\system32\slmgr.vbs /ato
echo.
echo ========================================
echo 激活结果摘要:
cscript //nologo %systemroot%\system32\slmgr.vbs -dlv | findstr "已授权 许可证状态"
echo ========================================
pause
原创文章,作者:花红,如若转载,请注明出处。