@echo off chcp 65001 :: Проверка прав администратора net session >nul 2>&1 if %errorlevel% neq 0 ( echo [!] Запустите скрипт от имени администратора. pause exit /b 1 ) echo ============================================ echo Активация Windows через KMS echo ============================================ echo. :: --- Ввод ключа продукта --- :ask_key set "PRODUCT_KEY=" set /p "PRODUCT_KEY=Введите ключ продукта: " if "!PRODUCT_KEY!"=="" ( echo [!] Ключ не может быть пустым. goto ask_key ) :: --- Ввод адреса KMS-сервера --- :ask_server set "KMS_SERVER=" set /p "KMS_SERVER=Введите адрес KMS-сервера (host или host:port): " if "!KMS_SERVER!"=="" ( echo [!] Адрес не может быть пустым. goto ask_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 -------------------------------------------- echo. set "CONFIRM=" 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 [!] Не удалось установить ключ. Проверьте правильность. 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