Развертывание лицензионного KMS сервера в доменной сети 2008R2/Win7

Признаться, когда сверху спустили распоряжение перевести офис на лицензионные Windows-рельсы, я подумал, что работы на день максимум. Но не тут-то было. Оказалось, что в сети практически невозможно найти инструкцию по установке официального KMS сервера, погребенную под тоннами мануалов по взлому активаций и установке пиратского KMS. Поиск в technet страдает неизвестной болезнью и постоянно подсовывает мне инструкции по установке KMS для Win2003 и Vista. Даже на Хабре практически ничего не было. Я решил исправить ситуацию.

Итак, вы стали счастливым обладателем KMS ключей для Win2008R2 и Win7. Обращаю ваше внимание на то, что ключ для Win2008R2 единый и для редакции Standart и для редакции Enterprise. Теперь необходимо поднять KMS-host в сети, и делать мы это будем в два приема. В качестве KMS должна выступать машина под управлением соответствующей операционной системы.

Подготовка


Вариант первый, идеологически правильный. Создаем в Active Directory группу безопасности (к примеру «KMS_hosts»), и добавляем туда будущий/будущие KMS-host. После чего идем в настройки главного DNS-сервера и в настройках безопасности разрешаем этой группе создание SRV-записей.

Вариант второй, если вы любите делать все руками или если ваш DNS не поддерживает динамическую регистрацию записей. Запускаем консоль управления DNS-сервером и выбираем Forward Lookup Zones в вашем домене. Из пункта меню «Action» консоли выбираем «Other New Records» и указываем «Service Location (SRV)». Создаем запись со следующими параметрами:
  • Service: _VLMCS
  • Protocol: _TCP
  • Port number: 1688
  • Host offering the service: <FQDN_of_KMS_Host>

В будущем, если по какой-либо причине вам придется добавлять/переносить KMS сервер, в первом случае вам будет достаточно отредактировать группу безопасности, а во втором добавить руками новую запись и удалить старую.

Установка


На сервере, на котором планируется установить KMS, запускаем командную строку от имени администратора (правой кнопкой мыши клик по иконке и выбор «Run as administrator»).

Вводим следующие команды:
slmgr.vbs /ipk [KmsKey] — установка полученного от Microsoft KMS-ключа. Внимание, это ключ именно для KMS сервера. Он дает возможность создать до 6 точек активации, каждую из которых можно реактивировать не более 10 раз. Если у вас все нуждающиеся в лицензировании компьютеры находятся в одной сети, использовать этот ключ более одного раза нет смысла.
slmgr.vbs /ato – запуск активации Windows через интернет
Если же доступа к интернет нет, запустите вместо предыдущей команды вот эту
slui.exe 4 – для активации по телефону

После этих действий статус Windows вашего KMS-hosta поменяется на «Активировано», а в DNS сервере в Forward Lookup Zones/_TCP появится SRV-запись c именем вашего KMS сервера. Если же запись не появилась, принудительно заставьте KMS сервер зарегистрироваться командой slmgr.vbs /sdns и перезапустите его.
Осталась мелочь – настроить брандмауэр. Несмотря на то, что Microsoft утверждает, что для нормального функционирования службы достаточно разрешить в настройках брандмауэра правило для трафика WMI, мне пришлось создавать дополнительное правило для открытия порта 1688.
В случае, если вам не нравится порт 1688, вы можете его изменить командой slmgr.vbs /sprt [Порт]. Правда вам придется также изменить SRV-запись в DNS, если вы создавали ее вручную и правило в брандмауэре.
Перезапускаем службу:
net stop sppsvc && net start sppsvc

И наконец, активация клиентов


Если клиентский Windows устанавливался со скачанного с Volume Licensing Service Center образа, все что нужно сделать – это в командной строке под правами администратора запустить команду slmgr.vbs /ato. Система сама найдет в DNS адрес KMS сервера, подключится к нему и оставит запрос на активацию. Напоминаю, что активация начнется после 5 запросов от серверов, или 25 запросов от клиентских операционных систем.

Если Windows зарегестрирован уже MAC ключем, или у вас стоит Retail версия операционной системы, то список необходимых команд увеличивается на одну:
slmgr.vbs /ipk [KmsSetupKey]
slmgr.vbs /ato
Здесь [KmsSetupKey] — это один из нижеприведенных ключей, сообразно редакции:
  • Windows 7 Professional — FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
  • Windows 7 Professional N — MRPKT-YTG23-K7D7T-X2JMM-QY7MG
  • Windows 7 Enterprise — 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
  • Windows 7 Enterprise N — YDRBP-3D83W-TY26F-D46B2-XCKRJ
  • Windows 7 Enterprise E — C29WB-22CC8-VJ326-GHFJW-H9DH4
  • Windows Server 2008 R2 HPC Edition — FKJQ8-TMCVP-FRMR7-4WR42-3JCD7
  • Windows Server 2008 R2 Datacenter — 74YFP-3QFB3-KQT8W-PMXWJ-7M648
  • Windows Server 2008 R2 Enterprise — 489J6-VHDMP-X63PK-3K798-CPX3Y
  • Windows Server 2008 R2 for Itanium-Based Systems — GT63C-RJFQ3-4GMB6-BRFB9-CB83V
  • Windows Server 2008 R2 Standard — YC6KT-GKW9T-YTKYR-T4X34-R7VHC
  • Windows Web Server 2008 R2 — 6TPJF-RBVHG-WBW2R-86QPH-6RTM4


Hints:


  1. Узнать количество запросов на активацию можно, запустив на KMS сервере команду slmgr.vbs /dli С помощью этой же команды, запущенной на клиентском компьютере, можно узнать состояние и тип лицензии на нем.
  2. Software Licensing Service (slmgr.vbs) может быть запущен удаленно:
    slmgr.vbs TargetComputerName [username] [password] /parameter [options]
  3. Если по какой-либо причине вы не хотите публиковать адрес KMS сервера в DNS, то этот функционал можно отключить на сервере командой slmgr.vbs /cdns, а на клиентских компьютерах вручную указывать KMS сервер командой slmgr.vbs /skms [KmsHostName:port]
  4. Если клиентский компьютер был «навечно затриален» с помощью запрета доступа к файлу sppcomapi.dll, то перед активацией необходимо вернуть права к исходным:
    takeown /F %WINDIR%\System32\sppcomapi.dll
    icacls %WINDIR%\System32\sppcomapi.dll /grant *S-1-1-0:F

Теги:
kms, windows 7, windows 2k8 server

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.