Обновить activation-windows.bat

This commit is contained in:
2026-10-01 11:57:03 +03:00
parent 5d494bbd14
commit 35d70051ef
+54 -52
View File
@@ -1,81 +1,83 @@
@echo off @echo off
chcp 65001 >nul chcp 65001 >nul
title Активация Windows
color 0A
REM ==== Проверка прав администратора ====
net session >nul 2>&1
if %errorLevel% neq 0 (
echo [!] Запусти скрипт от имени администратора!
pause
exit /b 1
)
echo ============================================ echo ============================================
echo Активация Windows через KMS echo АКТИВАЦИЯ WINDOWS
echo ============================================ echo ============================================
echo. echo.
:: --- Ввод ключа продукта --- REM ==== Ввод ключа ====
:ask_key :input_key
set "PRODUCT_KEY=" set "PRODUCT_KEY="
set /p "PRODUCT_KEY=Введите ключ продукта: " set /p "PRODUCT_KEY=Введите ключ продукта (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX): "
if "!PRODUCT_KEY!"=="" ( if "%PRODUCT_KEY%"=="" (
echo [!] Ключ не может быть пустым. echo [!] Ключ не может быть пустым. Попробуйте снова.
goto ask_key goto input_key
) )
:: --- Ввод адреса KMS-сервера --- REM ==== Ввод сервера ====
:ask_server :input_server
set "KMS_SERVER=" set "KMS_SERVER="
set /p "KMS_SERVER=Введите адрес KMS-сервера (host или host:port): " set /p "KMS_SERVER=Введите адрес KMS-сервера (например, kms.company.local:1688): "
if "!KMS_SERVER!"=="" ( if "%KMS_SERVER%"=="" (
echo [!] Адрес не может быть пустым. echo [!] Адрес сервера не может быть пустым. Попробуйте снова.
goto ask_server goto input_server
) )
:: Если порт не указан — добавляем стандартный 1688
echo !KMS_SERVER! | find ":" >nul
if errorlevel 1 set "KMS_SERVER=!KMS_SERVER!:1688"
echo. echo.
echo -------------------------------------------- echo --------------------------------------------
echo Ключ: !PRODUCT_KEY! echo Ключ: %PRODUCT_KEY%
echo Сервер: !KMS_SERVER! echo Сервер: %KMS_SERVER%
echo -------------------------------------------- echo --------------------------------------------
echo. echo.
set "CONFIRM=" set /p "CONFIRM=Всё верно? (Y/N): "
set /p "CONFIRM=Всё верно? (y/n): " if /i not "%CONFIRM%"=="Y" (
if /i not "!CONFIRM!"=="y" (
echo Отменено. echo Отменено.
pause pause
exit /b 0 exit /b 0
) )
echo. echo.
echo [1/4] Установка ключа продукта... echo [*] Установка ключа продукта...
cscript //nologo %windir%\system32\slmgr.vbs /ipk !PRODUCT_KEY! cscript //nologo %SystemRoot%\System32\slmgr.vbs /ipk %PRODUCT_KEY%
if !errorlevel! neq 0 ( if errorlevel 1 (
echo [!] Не удалось установить ключ. Проверьте правильность. echo [!] Ошибка установки ключа. Проверьте правильность ключа.
pause pause
exit /b 1 exit /b 1
) )
echo [2/4] Настройка KMS-сервера ^(!KMS_SERVER!^)...
cscript //nologo %windir%\system32\slmgr.vbs /skms !KMS_SERVER!
if !errorlevel! neq 0 (
echo [!] Не удалось задать KMS-сервер.
pause
exit /b 1
)
echo [3/4] Активация...
cscript //nologo %windir%\system32\slmgr.vbs /ato
if !errorlevel! neq 0 (
echo.
echo [!] Активация не удалась. Код ошибки: !errorlevel!
echo Частые причины:
echo 0xC004F074 — сервер недоступен или не в домене
echo 0xC004F015 — неверный тип ключа для KMS
pause
exit /b 1
)
echo [4/4] Проверка статуса...
echo.
cscript //nologo %windir%\system32\slmgr.vbs /dli
echo. echo.
echo [OK] Готово. echo [*] Настройка KMS-сервера: %KMS_SERVER%
cscript //nologo %SystemRoot%\System32\slmgr.vbs /skms %KMS_SERVER%
if errorlevel 1 (
echo [!] Ошибка настройки KMS-сервера.
pause
exit /b 1
)
echo.
echo [*] Активация...
cscript //nologo %SystemRoot%\System32\slmgr.vbs /ato
if errorlevel 1 (
echo [!] Ошибка активации. Проверьте доступность KMS-сервера.
pause
exit /b 1
)
echo.
echo [*] Статус лицензии:
cscript //nologo %SystemRoot%\System32\slmgr.vbs /xpr
echo.
echo [OK] Готово!
pause pause
endlocal