Собственный KMS сервер позволяет значительно упростить процесс активации продуктов Microsoft в корпоративной сети, и в отличии от обычной процедуры активации, не требует предоставления каждому компьютеру доступа в интернет к серверам активации Майкрософт. Инфраструктура KMS достаточно простая, надежная и легко расширяется (один KMS сервер может обслуживать тысячи клиентов).
В этой статье мы опишем процесс установки в локальной корпоративной сети KMS сервера на базе Windows Server 2012 R2 и его активацию.
Основные аспекты функционирования технологии KMS активации продуктов Microsoft довольно подробно описаны в статье FAQ по KMS активации продуктов Microsoft.
Установка и настройка роли Volume Activation Services
Для работы службы KMS нужно установить и настроить отдельную роль сервера — Volume Activation Services. Сделать это можно с помощью консоли Server Manage или PowerShell:
Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature
При установке через графический интерфейс консоли Server Manager, запустите мастер установки ролей (Add Roles and Features Wizard), и на этапе выбора ролей сервера (Server Roles) выберите пункт Volume Activation Services.
После окончания установки запустите консоль Volume Activation Tools. Запустится мастер установки службы активации. Укажите, что будет устанавливаться сервер Key Management Service (KMS).
Далее на сайте Microsoft (https://www.microsoft.com/Licensing/servicecenter/home.aspx) в личном разделе необходимо получить свой корпоративный KMS ключ (KMS host key, это ключ активации KMS сервера). Найти его можно в разделе Downloads and Keys -> Windows Server -> Windows Server 2012 R2.
Найдите ключ с типом KMS (не MAK) и скопируйте его в буфер обмена.
Вставьте скопированный KMS ключ в соответствующее поле мастера установки KMS сервера (Install your KMS host key).
Если система примет ключ, сразу же будет предложено его активировать. На основании введенного ключа система определит продукт, к которому он относится, и предложит два варианта активации (по телефону или Интернету). Во втором случае придется предоставить серверу временный доступ в Интернет (только на период активации).
После активации ключа, нужно настроить параметры службы управления ключами: интервал активации и реактивации (по умолчанию клиенты продляют активацию каждые 7 дней), порт (по умолчанию служба KMS использует TCP порт 1688), исключения для Windows Firewall. Чтобы автоматически создать запись в DNS, необходимую для автоматического поиска сервера KMS в домене (SRV запись _vlmcs._tcp), включите опцию DNS Records – Publish.
Если KMS сервер должен обслуживать клиентов из разных доменов, можно опубликовать DNS записи в других DNS зонах. Укажите данные зоны в списке Publish to Custom DNS zones.
Get-NetFirewallRule -DisplayName *key*
Enable-NetFirewallRule -Name SPPSVC-In-TCP
На это процесс настройки сервера окончен. Проверьте, что в DNS создалась специальная запись, указывающая на ваш kms сервер (подробности в статье Как найти в домене KMS сервер):
nslookup -type=srv _vlmcs._tcp.corp.winitpro.ru
Далее получим информацию о текущем состоянии KMS сервера:
slmgr.vbs /dlv
Нас интересуют следующие поля:
- Partial Product Key – отображены последние 5 символов KMS ключа
- License status – статус активации лицензии (должно быть Licensed)
- Total requests received — количество запросов на активацию от клиентов(пока 0)
Внимание. Напомним, что у KMS сервера есть т.н. порог активации. Это означает, что активированный KMS сервер начинает активировать клиентов, только тогда, когда количество обратившихся к нему за последние 30 дней клиентов превысит предопределенные пороги (activation count):
- Порог активации для клиентских ОС Vista / Windows 7 / Win 8 / Win 10 – 25 клиентов
- Для серверных ОС: Windows Server 2008/ 2008 R2 / 2012 / 2012 R2 / 2016– 5 клиентов
Теперь KMS сервер может активировать клиентов. Что нужно выполнить на стороне клиента для успешной активации на KMS сервере:
- Задайте на клиенте публичный KMS (GVLK) ключ от соответствующей редакции Windows (ссылка ниже):
slmgr /ipk xxxxx- xxxxx - xxxxx - xxxxx – xxxxx
- Если KMS сервер не опубликован в DNS, укажите его адрес вручную:
slmgr /skms kmssrvwinitpro.ru:1688
- Активируйте ОС командой:
slmgr /ato
Активированный KMS сервер ключом для WS 2012 R2 (VOLUME_KMS_WS12_R2 channel) поддерживает активацию всех ОС Windows вплоть до Windows 8.1 / Windows Server 2012 R2 (для поддержки активации Windows 10 и WS 2016 нужно установить специальное обновление и активировать KMS сервер новым ключом).
В том случае, если попытаться установить новый KMS ключ для Windows 10 на KMS сервер под управлением Windows Server 2012 R2 с помощью VAMT без установки указанного обновления, появиться ошибка:
Несколько советов.
- Общедоступные KMS ключи для Windows 7/ Server 2008/ 2008 R2 можно найти здесь, для Windows 8.1 / Server 2012 R2 здесь, для Windows 10 / Windows Server 2016/2019/2022 здесь и здесь соответственно
- Для удобного управлениями ключами продуктами MS, активации клиентов и построения отчетов можно воспользоваться утилитой Microsoft Volume Activation Management Tool — VAMT 3.0
- С помощью этого же KMS сервера можно активировать не только ОС Windows, но и продукты MS Office ( подробности в статье Активация MS Office 2013 VL, KMS активация Office 2016)
- Для активации виртуальных машин, запущенных на сервере Hyper-V можно воспользоваться специальным типом активации: AVMA (Automatic Virtual Machine Activation)
Приветствую.
Подскажи, имеет ли данная фича настройки для работы через прокси-сервер?
Спасибо. )
Привет, коллега 🙂 !
С помощью утилиты VAMT можно настроить активацию через прокси для MAK ключей. Для KMS в этом особого смысла нет. Сам корпоративный KMS ключ (GVLK) можно активировать по телефону, а клиентам KMS для активации доступ в интернет не нужен.
Если же сам KMS-сервер по отношению к клиентам находится за прокси-сервером — можно на клиенте задать системный прокси, в результате запрос на KMS активацию пойдет через него:
netsh winhttp set proxy proxy-server=”proxy.winitpro.ru:3128″
или импортировать настройки прокси из IE:
netsh winhttp import proxy source=ie
Спасибо за оперативный ответ.
На сколько я понимаю, KMS сервер после активации ключа (например по телефону), нуждается в периодическом взаимодействии с серверами Microsoft. Или это не верно?
P.S Хм…. При нажатии кнопки ответ и отправке комментария — комментарий не появляется.
После активации ключа KMS серверу доступ в интернет не нужен.
PS: Это глюк системы кэширования — первый комментарий всегда появляется сразу — второй и последующие — после рефреша кэша 🙁
Отличная информация. ) Буду разворачивать тестовый стенд.
Так же, я правильно понимаю, что ключ от KMS сервера (например 2012 R2) позволяет активировать все версии (в том числе версии для настольных ПК) ниже текущей?
Все правильно — старые версии винды можно активировать на этом KMS сервере, главное — прописать на клиентах ключ для соответствующей версии win os.
С KMS в домене понятно. Работает отлично….
Интересует такой вопрос:
Можно ли настроить KMS так, чтобы он был виден только нескольким OU или вообще в обход AD?
У нас была статья про Возможность активации по KMS клиентов в разных доменах
Если и можно как-то ограничить доступ к KMS, я об не знаю.
Первое что приходит на ум — скрыть запись сервера KMS в DNS (отключить публикацию записей SRV KMS на DNS) — в этом случае клиенты не смогут «автоматически» обнаруживать KMS сервер и поменять «слушающий» порт-kms с 1688 на что-то другое, например 1600.
В этом случае придется активировать клиентов вручную:
slmgr /ipk ххххх- ххххх – ххххх – ххххх – ххххх
slmgr /skms kms_server.winitpro.ru:1600
slmgr /ato
Эти настройки можно распространить на нужные OU групповой политикой.
Здравствуйте
Развернул роль KMS сервера на вин 2012 r2, кмс ключа для 2012r2 нет, зато есть от 2008r2 и 2012. При попытке установить их- ругается на недопустимый ключ…
Добрый день!
Насколько я помню, GVLK ключ от младших версий должен проходить. Вы выполняете команду установки ключа из cmd с правами админа? Какая ошибка возвращается?
Нет, делал через GUI «средства активации корпоративных лицензий». Похоже, в этом была моя ошибка:)
cmd с правами админа возвращает ошибку
0xC004F050 ключ продукта недопустим
Странно… Т.е. вы получили официальный ключ GVLK из личного кабинета на сайте центра поддержки корпоративных лицензий MS и он не подходит? Думаю, лучше задать вопрос в тех поддержку, либо попробовать обновить GVLK ключ до Windows 2012/ 8
Или ключ все-таки «левый»?
ключи самые что ни на есть официальные. то же уже склоняюсь к тому, что пора терзать тех поддержку.
Если не сложно, поделитесь результатом. Почему-то есть смутное подозрение, что нельзя использовать GVLK ключ от предыдущих версий Windows на более новых. Видимо MS предполагает, что в рамках соглашения ключи нужно апгрейдить.
В результате обращения в тех поддержку мне просто выдали ключ GVLK для 2012 std R2 в личном кабинете на сайте центра поддержки корпоративных лицензий MS. Так что, похоже, Вы правы- ключи от старых версий не подходят
Здравствуйте! Спасибо за статью, очень понятно и информативно!
Помогите пожалуйста начинающему специалисту. Установил на серв2012 кмс активацию, по вашей инструкции, все хорошо и все работает. Сам вопрос: подскажите, на ключе который активирует windows 7 через сервер кмс, есть ограничение по количеству активации? или в свое сети я могу активировать «хоть миллион, хоть миллиард»?
Заранее спасибо за ответ.
Количество активаций с публичным ключом на активированном KMS севере не ограничено и не проверяется. «В нашем клубе принято верить джентльменам на слово»
Другой вопрос, что в договоре с MS количество клиентов указано, и при первой же проверке проверяющими органами можно серьезно влететь.
Интересный вопрос, а как зарегистрироваться в VLSC? А то ввожу всякие ключи пишет что это не ключ узла KMS, хочется поднять сервер KMS, а ключа то золотого нету.
На VLSC можно попасть через партнеров Microsoft при приобретении соответствующего пакета лицензий.
немного не ясно, как для начинающего. при установке КМС cоздается учетка в АД. Т.е. установка , настройка КМС делается на контроллере домена?
или возможно все поставить на сервак, находящийся в ворк группе?
Добрый день, возникла такая проблема, по производственной необходимости, восстанавливали сервер активации в домене, точнее поднимали его по новой, добавили все ключи, проверили ДНС присутствовало две записи, старого и нового сервера. Но почему то при подключении к домену новой машины в реестре в SoftwareProtectionPlatform, по прежнему остается запись на старый сервер, в результате чего активации не происходит.
1. Каким то образом эти записи обновляются или нет?
2. откуда эта запись может ещё подтягиваться?
— в днс проверил нету
— в ГП тоже пусто…
1. Что возвращает команда
nslookup -type=srv _vlmcs._tcp.yourdomain.ru
2. Посмотрите какой KMS сервер используют сервера при активации:
slmgr /dli
(смотрите значение в строке Registered KMS machine name).
извиняюсь, забыл добавить, что запись на старый сервер в днс удалили, но машины его по прежнему где то находят…
1. команда возвращает адрес сервера тот что прописан в ДНС,
2. там тоже видно сервер KMS, но возникает предположение что там запись не обновляется. Перед выходными ради эксперимента поменял на одну букву в ДНС запись srv _vlmcs, сегодня проверил на нескольких серверах\ws адрес сервера остался неизменным.
с какой регулярностью он и как обновляется?
Так же обратил ещё внимание на отсутствие ключа KeyManagementServiceName в ветке реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
может быть его наличие\отсутствие как то влияет на проблему? каким образом он должен туда попадать?
Не понял по 2 пункту. Там показывает новый или старый адрес KMS.
Возможно проще на всех ПК/серверах выполнить скрипт (например через GPO), устаналивающий адрес нового KMS сервера. Команда такая:
slmgr /skms kms-server.winitpro.ru:1688
См. здесь (https://winitpro.ru/index.php/2015/03/13/faq-po-kms-aktivacii-produktov-microsoft/)
тут проблема в том что необходимо что бы KMS активировал в том числе и не доменные сервера, а такие тоже есть, и поэтому предполагается что эти сервера будут получать адрес сервера активаций через один общий DNS, но почему то на некоторых серверах происходит такое что они просто не видят сервер активации, и на них приходится вручную пробивать команду slmgr /skms
по 2 пункту, там вообще нет такой строки
Тогда попробуйте в консоли DNS руками поправить запись _VLMCS (DNS -> Forward lookup Zone -> winitpro.ru -> _tcp ->), либо на сервере KMS включить автопубликацию (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform параметр DisableDnsPublishing и значением 0)
Такой вопрос, если я поставлю клю windows server 2016. Этот ключ сможет активировать младшие ОС 2012 r2 и ниже
Да, старые версии Windows будут поддерживаться вашим KMS сервером, активированным новым ключом WS2016.
Здравствуйте. Подскажите пожалуйста,возможна ли установка двух KMS на одну машину? в сети уже имеется kms сервер office,хочется еще поставить kms windows. Возможно ли это,или лучше kms windows ставить на отдельную машину? Заранее спасибо
KMS сервер Windows и KMS сервер для Office можно поставить независимо на один сервер.
https://winitpro.ru/index.php/2015/03/13/faq-po-kms-aktivacii-produktov-microsoft/
https://winitpro.ru/index.php/2019/02/13/kms-aktivaciya-windows-server-2019/
https://winitpro.ru/index.php/2019/08/14/kms-aktivaciya-ms-office-volume-license/
Добрый ,а нет ли мануала ,если есть два домена в разных подсетях,как заставить домен 2 резолвить запросы по лицензированию на 1 домен.Если на клиентах в домене 2 указывать принудительно ,адресс kms сервера в домене 1,то активация срабатывает
Вручную создайте в DNS второго домена SRV запись, указывающую на ваш IP KMS сервера в первом домене.
https://winitpro.ru/index.php/2015/03/13/faq-po-kms-aktivacii-produktov-microsoft/
Также можно использовать параметр реестра DnsDomainPublishList для автоматической публикации SRV записей для нескольких доменов.
https://learn.microsoft.com/en-us/previous-versions/tn-archive/ff793405(v=technet.10)
Каким образом посмотреть на KMS, ключи для каких продуктов установлены?
доступа к VLSC уже нет
slmgr.vbs /dli all