diff --git a/activation-windows.bat b/activation-windows.bat index 1d3ef99..9fe6934 100644 --- a/activation-windows.bat +++ b/activation-windows.bat @@ -1,81 +1,83 @@ @echo off chcp 65001 >nul +title Активация Windows +color 0A + +REM ==== Проверка прав администратора ==== +net session >nul 2>&1 +if %errorLevel% neq 0 ( + echo [!] Запусти скрипт от имени администратора! + pause + exit /b 1 +) echo ============================================ -echo Активация Windows через KMS +echo АКТИВАЦИЯ WINDOWS echo ============================================ echo. -:: --- Ввод ключа продукта --- -:ask_key +REM ==== Ввод ключа ==== +:input_key set "PRODUCT_KEY=" -set /p "PRODUCT_KEY=Введите ключ продукта: " -if "!PRODUCT_KEY!"=="" ( - echo [!] Ключ не может быть пустым. - goto ask_key +set /p "PRODUCT_KEY=Введите ключ продукта (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX): " +if "%PRODUCT_KEY%"=="" ( + echo [!] Ключ не может быть пустым. Попробуйте снова. + goto input_key ) -:: --- Ввод адреса KMS-сервера --- -:ask_server +REM ==== Ввод сервера ==== +:input_server set "KMS_SERVER=" -set /p "KMS_SERVER=Введите адрес KMS-сервера (host или host:port): " -if "!KMS_SERVER!"=="" ( - echo [!] Адрес не может быть пустым. - goto ask_server +set /p "KMS_SERVER=Введите адрес KMS-сервера (например, kms.company.local:1688): " +if "%KMS_SERVER%"=="" ( + echo [!] Адрес сервера не может быть пустым. Попробуйте снова. + goto input_server ) -:: Если порт не указан — добавляем стандартный 1688 -echo !KMS_SERVER! | find ":" >nul -if errorlevel 1 set "KMS_SERVER=!KMS_SERVER!:1688" - echo. echo -------------------------------------------- -echo Ключ: !PRODUCT_KEY! -echo Сервер: !KMS_SERVER! +echo Ключ: %PRODUCT_KEY% +echo Сервер: %KMS_SERVER% echo -------------------------------------------- echo. -set "CONFIRM=" -set /p "CONFIRM=Всё верно? (y/n): " -if /i not "!CONFIRM!"=="y" ( +set /p "CONFIRM=Всё верно? (Y/N): " +if /i not "%CONFIRM%"=="Y" ( echo Отменено. pause exit /b 0 ) echo. -echo [1/4] Установка ключа продукта... -cscript //nologo %windir%\system32\slmgr.vbs /ipk !PRODUCT_KEY! -if !errorlevel! neq 0 ( - echo [!] Не удалось установить ключ. Проверьте правильность. +echo [*] Установка ключа продукта... +cscript //nologo %SystemRoot%\System32\slmgr.vbs /ipk %PRODUCT_KEY% +if errorlevel 1 ( + echo [!] Ошибка установки ключа. Проверьте правильность ключа. pause 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 [OK] Готово. -pause -endlocal \ No newline at end of file +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 \ No newline at end of file