Активация Windows Server 2022: все способы пошагово

активация Windows Server 2022 все способы

Windows Server 2022 активируется через графический интерфейс (Параметры, Система, Активация), командную строку slmgr /ipk и slmgr /ato, через KMS-сервер организации, ADBA (Active Directory-Based Activation) или по телефону для изолированных серверов без доступа в интернет.

Способы активации: какой выбрать

У Windows Server 2022 несколько способов активации. Выбор зависит от типа ключа и инфраструктуры.

СпособДля когоНужен интернетТип ключа
Онлайн (GUI/slmgr)Одиночные серверыДаRetail/MAK
KMSОрганизации 5+ серверовТолько для KMS-хостаGVLK + KMS Host Key
ADBAКрупные домены ADТолько для настройкиKMS Host Key
По телефонуИзолированные серверыНетRetail/MAK

Короче, если у вас один сервер, используйте онлайн-активацию. Если несколько, KMS или ADBA. Без интернета, телефон.

Онлайн-активация через GUI

Самый простой путь. Работает для Retail и MAK ключей.

Открываете Параметры (Settings). Система (System). Активация (Activation). Нажимаете «Изменить ключ продукта» (Change product key). Вводите 25-значный ключ. Нажимаете «Далее». Активация проходит за несколько секунд.

На самом деле на Server Core нет GUI, поэтому этот способ только для Desktop Experience. Для Core используйте командную строку. Кстати, Microsoft рекомендует Server Core для продакшена (меньше поверхность атаки, меньше обновлений, меньше перезагрузок). Так что командная строка это не запасной, а основной способ активации.

Активация через командную строку (slmgr)

Универсальный способ. Работает на любой версии Server, включая Core и Nano.

# Открываем CMD или PowerShell от администратора

# Ввод ключа продукта
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

# Активация через интернет
slmgr /ato

# Проверка статуса (краткая)
slmgr /dli

# Подробная информация (версия, тип лицензии, остаток)
slmgr /dlv

# Проверка срока действия
slmgr /xpr
# Для бессрочных лицензий покажет "Компьютер активирован без ограничений"
# Для KMS покажет дату следующей переактивации

Мой знакомый Дмитрий (старший админ, обслуживает кластер из 12 серверов Dell PowerEdge R650 с Xeon Gold 5317) активирует все серверы через slmgr. Написал PowerShell-скрипт, который прогоняет активацию по списку серверов удалённо через WinRM. За 5 минут все 12 машин активированы.

# Удалённая активация через PowerShell
# Требование: WinRM настроен на целевых серверах
$servers = @("SRV01", "SRV02", "SRV03", "SRV04", "SRV05")
$key = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"

foreach ($server in $servers) {
    Write-Host "Активируем $server..." -ForegroundColor Cyan
    Invoke-Command -ComputerName $server -ScriptBlock {
        param($k)
        # Вводим ключ
        cscript C:WindowsSystem32slmgr.vbs /ipk $k
        Start-Sleep -Seconds 3
        # Активируем
        cscript C:WindowsSystem32slmgr.vbs /ato
        Start-Sleep -Seconds 3
        # Проверяем
        cscript C:WindowsSystem32slmgr.vbs /xpr
    } -ArgumentList $key
    Write-Host "$server - готово" -ForegroundColor Green
}

Кстати, перед массовой активацией убедитесь, что WinRM настроен на всех целевых серверах. Без него удалённые команды не будут работать. Настройка WinRM одной командой: winrm quickconfig на каждом сервере или через групповую политику для всех серверов в домене.

По факту, этот скрипт экономит часы работы. Вместо того чтобы подключаться к каждому серверу по RDP и вводить ключ вручную, запускаете один скрипт и идёте пить кофе.

Активация через KMS

Для организаций. Один KMS-сервер обслуживает все клиенты.

Вот в чём прикол KMS: клиенты активируются автоматически, без ввода ключей вручную на каждой машине. KMS-сервер должен быть доступен по сети. Клиенты переактивируются каждые 180 дней. Если клиент не может связаться с KMS 180 дней подряд, активация слетает.

Минимальные требования KMS: для активации Windows Server нужно минимум 5 KMS-клиентов (для десктопных Windows минимум 25). Пока порог не достигнут, клиенты не активируются.

Настройка KMS-сервера:

# На KMS-сервере (Windows Server с установленной ролью)

# Вводим KMS Host Key (покупается отдельно от клиентских ключей)
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

# Активируем KMS-хост (нужен интернет!)
slmgr /ato

# Проверяем статус KMS
slmgr /dlv
# Обратите внимание на "Current count": показывает количество
# подключённых клиентов. Должно быть >= 5 для активации серверов

# Открываем порт KMS на файрволе
netsh advfirewall firewall add rule name="KMS" dir=in action=allow protocol=TCP localport=1688

Настройка KMS-клиента (сервер, который активируется через KMS):

# На клиентском сервере

# Вводим общий KMS-клиентский ключ (GVLK)
# Для Server 2022 Standard:
slmgr /ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H

# Для Server 2022 Datacenter:
slmgr /ipk WX4NM-KYWYW-QJJR4-XV3QB-6VM33

# Указываем адрес KMS-сервера (если DNS-автообнаружение не работает)
slmgr /skms kms-server.domain.local:1688

# Активируем
slmgr /ato

# Проверяем
slmgr /dli
# Должно показать "VOLUME_KMS_R2_C channel" и статус Licensed

Тут такое дело: GVLK-ключи (Generic Volume License Keys) это не секрет. Они публично доступны на сайте Microsoft (docs.microsoft.com). Сами по себе они не активируют ничего, для активации нужен работающий KMS-сервер с Host Key. Грубо говоря, GVLK это как замок, а KMS Host Key это ключ от него.

KMS и DNS: как клиенты находят сервер

Знаете что? KMS-клиенты по умолчанию ищут KMS-сервер через DNS. При установке KMS-хоста автоматически создаётся SRV-запись:

# DNS SRV запись для KMS
# _vlmcs._tcp.domain.local -> kms-server.domain.local:1688
#
# Проверяем DNS-запись:
nslookup -type=srv _vlmcs._tcp.domain.local

# Если запись не создалась автоматически, создаём вручную:
# В DNS Manager: Forward Lookup Zone -> domain.local
# Правый клик -> New Record -> Service Location (SRV)
# Service: _vlmcs
# Protocol: _tcp
# Port: 1688
# Host: kms-server.domain.local

Если честно, 80% проблем с KMS-активацией связаны с DNS. Клиент не находит SRV-запись, значит не находит KMS-сервер, значит не активируется. Первым делом проверяйте DNS.

Активация через ADBA

Active Directory-Based Activation. Самый автоматический способ.

Если у вас есть контроллер домена на Windows Server 2012 R2 или новее, можно настроить ADBA. Все компьютеры в домене активируются автоматически при присоединении.

# На контроллере домена
# Открываем Server Manager -> Tools -> Volume Activation Tools
# Или через PowerShell:

# Устанавливаем роль Volume Activation Services
Install-WindowsFeature -Name VolumeActivation -IncludeManagementTools

# Настраиваем ADBA через мастер
# Вводим KMS Host Key, выбираем Active Directory-Based Activation
# Мастер сам пропишет объект в AD

Преимущество ADBA перед KMS: не нужен отдельный KMS-сервер, не нужен порт 1688, клиенты не должны переактивироваться каждые 180 дней. По факту, настроил один раз и забыл. На самом деле, ADBA это лучший выбор для организаций с Active Directory. Единственный минус: работает только для компьютеров в домене. Рабочие группы и standalone-серверы придётся активировать другим способом.

Телефонная активация

Для серверов без интернета. Процедура аналогична активации Office по телефону.

# Получаем Installation ID
slmgr /dti
# Записываем длинную последовательность цифр

# Звоним 8-800-200-8001 (бесплатно)
# Выбираем Windows, вводим Installation ID
# Получаем Confirmation ID

# Вводим Confirmation ID
slmgr /atp CONFIRMATION-ID-ЗДЕСЬ

# Проверяем
slmgr /xpr

Если честно, для серверов в дата-центре без интернета (а такие бывают в защищённых сетях, банках, оборонных предприятиях) телефонная активация иногда единственный вариант. KMS тоже работает, но нужен KMS-сервер внутри сети, а его самого тоже нужно как-то активировать.

Активация Evaluation-версии

Установили Evaluation (пробную) версию? Она работает 180 дней. Потом сервер начинает выключаться каждый час. Неприятно, если это продакшн-сервер (а такое бывает чаще, чем хотелось бы).

Можно конвертировать Evaluation в полную версию без переустановки:

# Проверяем текущую редакцию
DISM /Online /Get-CurrentEdition
# Покажет: ServerStandardEval или ServerDatacenterEval

# Смотрим доступные варианты обновления
DISM /Online /Get-TargetEditions
# Покажет: ServerStandard и/или ServerDatacenter

# Конвертируем в Standard (нужен Retail или MAK ключ!)
DISM /Online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

# Перезагружаемся
shutdown /r /t 0

# После перезагрузки проверяем
slmgr /dli

Знаете что? KMS-ключи (GVLK) для конвертации Evaluation не подходят. Нужен именно Retail или MAK. Это частая ошибка: люди пытаются конвертировать Evaluation через KMS и получают ошибку. Сначала конвертируйте Retail/MAK-ключом, потом можете заменить на GVLK для KMS-активации.

А ещё учтите: Evaluation нельзя конвертировать в Standard, если установлен Datacenter Eval (и наоборот). Standard Eval конвертируется только в Standard, Datacenter Eval только в Datacenter. Вот в чём прикол: при установке нужно сразу выбирать правильную редакцию, даже если это Evaluation.

Ошибки при активации

0xC004F074. KMS-сервер недоступен. Проверьте сеть, порт 1688, DNS-запись KMS. Запустите nslookup -type=srv _vlmcs._tcp.domain.local для проверки DNS.

0xC004C008. Ключ заблокирован или исчерпаны активации. Обратитесь к продавцу или Microsoft. Для MAK-ключей можно запросить дополнительные активации через VLSC.

0x80072EE7. Нет подключения к серверам активации. Проверьте интернет, DNS, файрвол. Серверы активации Microsoft: activation.sls.microsoft.com (порт 443).

0xC004F069. Ключ не подходит для этой редакции. Ключ от Standard, а установлен Datacenter (или наоборот). Проверьте редакцию командой DISM /Online /Get-CurrentEdition.

0xC004F038. Счётчик KMS-клиентов ниже порога. У вас меньше 5 серверных KMS-клиентов. Добавьте ещё серверов или используйте MAK.

# Если нужно сбросить активацию
slmgr /upk
# Удаляет текущий ключ из системы

slmgr /cpky
# Удаляет ключ из реестра (для безопасности)

slmgr /rearm
# Сбрасывает состояние лицензирования (перезагрузка нужна)
# На Server можно выполнить до 1000 раз

Кстати, команду /rearm можно выполнить до 1000 раз на Server (в отличие от десктопной Windows, где лимит 3-5 раз). Это сделано для тестовых сред.

Моя коллега Ирина (системный инженер, управляет инфраструктурой на 30 серверов Supermicro с Xeon E-2388G) столкнулась с ошибкой 0xC004F074 при активации нового сервера. Оказалось, что DNS-запись KMS устарела после миграции контроллера домена. Обновили SRV-запись _vlmcs._tcp в DNS, и активация прошла. Грубо говоря, KMS-активация критически зависит от DNS. Это первое, что нужно проверять.

Автоматическая активация при развёртывании

Если вы разворачиваете серверы из образа (WDS, SCCM, MDT), активацию можно автоматизировать прямо в процессе установки.

# В файле ответов (unattend.xml) можно указать ключ:
# XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
#
# Или через PowerShell в скрипте пост-установки:
# Вводим ключ и активируем
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr /ato

# Для KMS-активации достаточно:
slmgr /ipk GVLK-КЛЮЧ
# KMS-сервер будет найден автоматически через DNS

На самом деле, для организаций с 10+ серверами ручная активация это потеря времени. Настройте KMS или ADBA один раз, и все новые серверы будут активироваться автоматически при присоединении к домену.

Кстати, при клонировании сервера через Sysprep активация сбрасывается автоматически. Это нормально: после Sysprep сервер получает новый hardware ID и должен активироваться заново. Для KMS-клиентов это происходит автоматически.

Standard vs Datacenter: какую редакцию активировать

Вот в чём прикол: ключ Standard не подходит для Datacenter и наоборот. При покупке убедитесь, что ключ соответствует установленной редакции. Проверить текущую редакцию можно командой:

# Узнаём текущую редакцию
DISM /Online /Get-CurrentEdition
# ServerStandard или ServerDatacenter

# Если ошиблись с редакцией, можно обновить Standard до Datacenter:
DISM /Online /Set-Edition:ServerDatacenter /ProductKey:DATACENTER-KEY /AcceptEula
# Обратное понижение (Datacenter -> Standard) невозможно без переустановки

Активация в виртуальных средах

Знаете что? Виртуальные машины Windows Server тоже нужно активировать. И тут есть нюансы.

Если у вас Windows Server Standard, лицензия покрывает 2 виртуальные машины (плюс сам хост). Каждую ВМ нужно активировать отдельным ключом или через KMS.

Если у вас Datacenter, количество ВМ не ограничено. Все активируются через KMS автоматически. По факту, для ферм виртуализации Datacenter + KMS это самый удобный вариант: создали ВМ, она сама нашла KMS-сервер и активировалась.

# Проверяем лицензию на хосте Hyper-V
DISM /Online /Get-CurrentEdition
# ServerDatacenter = неограниченные ВМ
# ServerStandard = 2 ВМ с лицензией

# Проверяем сколько ВМ запущено
Get-VM | Where-Object {$_.State -eq "Running"} | Measure-Object
# Если Standard и ВМ больше двух, нужны доп. лицензии

На самом деле, при использовании VMware или другого гипервизора (не Hyper-V) правила лицензирования те же. Ключ активации не привязан к гипервизору, он привязан к виртуальной машине. Кстати, при клонировании ВМ новый клон нужно активировать отдельно (у него другой hardware ID).

Мой коллега Артём (виртуализатор в банке, работает с кластером из 6 серверов Dell PowerEdge R750 с 2x Xeon Gold 6338) использует Datacenter + KMS. У него запущено 80+ виртуальных машин Windows Server. Все активируются автоматически через KMS в течение минуты после создания. Ни одного ручного ввода ключа.

Проверка статуса активации

# Быстрая проверка
slmgr /xpr
# Покажет: "Компьютер активирован" или дату окончания

# Подробная проверка
slmgr /dlv
# Покажет: тип лицензии, оставшийся срок, канал лицензирования

# Проверка на нескольких серверах через PowerShell
$servers = @("SRV01", "SRV02", "SRV03")
foreach ($s in $servers) {
    $result = Invoke-Command -ComputerName $s -ScriptBlock {
        cscript C:WindowsSystem32slmgr.vbs /xpr 2>&1
    }
    Write-Host "$s : $result"
}

На самом деле, для организаций с регулярными проверками рекомендую создать скрипт, который автоматически проверяет активацию всех серверов и отправляет отчёт по email. Так вы узнаете о проблемах с активацией до того, как сервер начнёт выключаться каждый час.

# PowerShell: проверка активации всех серверов
$servers = Get-ADComputer -Filter {OperatingSystem -like "*Server*"} |
    Select-Object -ExpandProperty Name

foreach ($s in $servers) {
    try {
        $result = Invoke-Command -ComputerName $s -ScriptBlock {
            $lic = Get-CimInstance SoftwareLicensingProduct |
                Where-Object {$_.PartialProductKey -ne $null}
            $lic | Select-Object Name, LicenseStatus
        }
        $status = if ($result.LicenseStatus -eq 1) {"Licensed"} else {"NOT Licensed!"}
        Write-Host "$s : $status"
    } catch {
        Write-Host "$s : Unreachable" -ForegroundColor Red
    }
}

Ну и главное: активируйте сервер сразу после установки. Не откладывайте на потом. 180 дней пролетят быстро, а сервер, который выключается каждый час, это проблема для бизнеса. Ключи Windows Server 2022 (Standard и Datacenter) доступны в keytrust24.store с моментальной доставкой. Знаете что? Активация сервера это 5 минут работы, которые избавят от часов проблем в будущем. Evaluation-версия, которая выключается каждый час, это кошмар для продакшена. Не экономьте на лицензии.