Windows 多版本自动识别激活脚本

2026.02.05 技术
内容速览
自动生成
  • @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
原创文章,作者:,如若转载,请注明出处。
发表评论

4 + 9 = ?