88 lines
2.5 KiB
Batchfile
88 lines
2.5 KiB
Batchfile
@echo off
|
|
|
|
:: Проверка прав администратора
|
|
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 |