Как сделать сервер активации windows

Просмотрено раз: 996

Введение

В данной заметке поговорим о активации продуктов Microsoft с помощью личного KMS сервера, быстренько развернем его в Docker и на примере переактивируем мою машину под управлением Windows 10 LTSC в 4 команды. В данной заметке мы не будем разбирать зачем это все надо, правильно это или нет, кому надо, а кому не надо.

На помощь нам придет Vlmcsd, это KMS сервер с открытым исходным кодом, на C, работающий из под Linux, но мы разберем готовый контейнер с Docker-Hub который для нас любезно собрали (на момент написания заметки 10 миллионов скачиваний).

Установка KMS сервера в Docker: активация Windows и Office

Docker-hub Vlmcsd

С помощью Vlmcsd возможна активация от Windows 7 и до Windows 11, Office можно активировать с 2010 и новее, включая все пакеты, активацию Office разберу в следующей заметке.

Я буду разворачивать его на своей VPS, вы можете развернуть его у себя локально на виртуальной машине или WSL, или воспользоваться услугами хостинга.


Установка Vlmcsd в Docker

Установка производиться в 1 команду при наличии у вас установленного Docker:

docker run -d -p 1688:1688 --restart=always --name vlmcsd mikolatero/vlmcsd

Готово наш личный KMS сервер поднят на 1688 порту и готов к бою


Активация Windows

1. Для активации нам потребуется для начала узнать нашу версию Windows, для этого нажимаем сочетание клавиш Win+R и вписываем туда winver или правой кнопкой мыши на Этот компьютер и Свойство, у меня установлена Windows 10 LTSC.

Установка KMS сервера в Docker: активация Windows и Office

Вывод команды winver и просмотра основных сведений о вашем компьютере

2. Идем на сайт Microsoft или листаем в самый низ сюда и ищем там ключик на нашу версию, в моем случае это Windows 10 LTSC.

Установка KMS сервера в Docker: активация Windows и Office

3. Нажимаем Win+R и пишем cmd и нажимаем Enter

Вставляем туда следующие строки:

#Удаляем старый ключ
slmgr.vbs -upk

#Даем новый ключ (замените ключ на свой)
slmgr.vbs -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D

#Указываем наш KMS сервер (замените на свой ip вашего KMS сервера или воспользуйтесь этим, на момент написания заметки не планирую его удалять)
slmgr.vbs -skms kms.lsetc.ru

#Запускаем скрипт активации Windows
slmgr.vbs -ato

#Проверяем
slmgr.vbs -dlv
Установка KMS сервера в Docker: активация Windows и Office

Готово, мы с вами получили активированный Windows 10 LTSC на 180 дней, через 180 дней Windows снова обратиться к нашему KMS серверу и переактивируется так же на 180 дней при его доступности.


Активация Microsoft Office 2021

Про активацию Microsoft Office 2021, Visio и Project можно почитать в данной заметке.


Вывод

В данной заметке мы с вами развернули свой KMS сервер для активации продуктов Microsoft в одну команду и активировали нашу Windows 10 в несколько команд без установок дополнительного п.о. или покупок у барыг на площадках ключей для активации.

Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)

Так же вы можете отблагодарить автора материально:

Ключи взяты с официального сайта Microsoft


Windows Server 2022

Operating system edition KMS Client Product Key
Windows Server 2022 Datacenter WX4NM-KYWYW-QJJR4-XV3QB-6VM33
Windows Server 2022 Datacenter
Azure Edition
NTBV8-9K7Q8-V27C6-M2BTV-KHMXV
Windows Server 2022 Standard VDYBN-27WPP-V4HQT-9VMD4-VMK7H

Windows Server 2019

Operating system edition KMS Client Product Key
Windows Server 2019 Datacenter WMDGN-G9PQG-XVVXX-R3X43-63DFG
Windows Server 2019 Standard N69G4-B89J2-4G8F4-WWYCC-J464C
Windows Server 2019 Essentials WVDHN-86M7X-466P6-VHXV7-YY726

Windows Server 2016

Operating system edition KMS Client Product Key
Windows Server 2016 Datacenter CB7KF-BWN84-R7R2Y-793K2-8XDDG
Windows Server 2016 Standard WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
Windows Server 2016 Essentials JCKRF-N37P4-C2D82-9YXRT-4M63B

Windows Server, versions 20H2, 2004, 1909, 1903, and 1809

Operating system edition KMS Client Product Key
Windows Server Datacenter 6NMRW-2C8FM-D24W7-TQWMY-CWH2D
Windows Server Standard N2KJX-J94YW-TQVFB-DG9YT-724CC

Windows 11 and Windows 10 (Semi-Annual Channel versions)

Operating system edition KMS Client Product Key
Windows 11 Pro
Windows 10 Pro
W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 11 Pro N
Windows 10 Pro N
MH37W-N47XK-V7XM9-C7227-GCQG9
Windows 11 Pro for Workstations
Windows 10 Pro for Workstations
NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 11 Pro for Workstations N
Windows 10 Pro for Workstations N
9FNHH-K3HBT-3W4TD-6383H-6XYWF
Windows 11 Pro Education
Windows 10 Pro Education
6TP4R-GNPTD-KYYHQ-7B7DP-J447Y
Windows 11 Pro Education N
Windows 10 Pro Education N
YVWGF-BXNMC-HTQYQ-CPQ99-66QFC
Windows 11 Education
Windows 10 Education
NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 11 Education N
Windows 10 Education N
2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 11 Enterprise
Windows 10 Enterprise
NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 11 Enterprise N
Windows 10 Enterprise N
DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 11 Enterprise G
Windows 10 Enterprise G
YYVX9-NTFWV-6MDM3-9PT4T-4M68B
Windows 11 Enterprise G N
Windows 10 Enterprise G N
44RPN-FTY23-9VTTB-MP9BX-T84FV

Windows 10 LTSC 2021 and 2019

Operating system edition KMS Client Product Key
Windows 10 Enterprise LTSC 2021
Windows 10 Enterprise LTSC 2019
M7XTQ-FN8P6-TTKYV-9D4CC-J462D
Windows 10 Enterprise N LTSC 2021
Windows 10 Enterprise N LTSC 2019
92NFX-8DJQP-P6BBQ-THF9C-7CG2H

Windows 10 LTSB 2016

Operating system edition KMS Client Product Key
Windows 10 Enterprise LTSB 2016 DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ
Windows 10 Enterprise N LTSB 2016 QFFDN-GRT3P-VKWWX-X7T3R-8B639

Windows 10 LTSB 2015

Operating system edition KMS Client Product Key
Windows 10 Enterprise 2015 LTSB WNMTR-4C88C-JK8YV-HQ7T2-76DF9
Windows 10 Enterprise 2015 LTSB N 2F77B-TNFGY-69QQF-B8YKP-D69TJ

Windows Server, version 1803

Operating system edition KMS Client Product Key
Windows Server Datacenter 2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG
Windows Server Standard PTXN8-JFHJM-4WC78-MPCBR-9W4KR

Windows Server, version 1709

Operating system edition KMS Client Product Key
Windows Server Datacenter 6Y6KB-N82V8-D8CQV-23MJW-BWTG6
Windows Server Standard DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4

Windows Server 2012 R2

Operating system edition KMS Client Product Key
Windows Server 2012 R2 Standard D2N9P-3P6X9-2R39C-7RTCD-MDVJX
Windows Server 2012 R2 Datacenter W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Windows Server 2012 R2 Essentials KNC87-3J2TX-XB4WP-VCPJV-M4FWM

Windows Server 2012

Operating system edition KMS Client Product Key
Windows Server 2012 BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows Server 2012 N 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY
Windows Server 2012 Single Language 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ
Windows Server 2012 Country Specific 4K36P-JN4VD-GDC6V-KDT89-DYFKP
Windows Server 2012 Standard XC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows Server 2012 MultiPoint Standard HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows Server 2012 MultiPoint Premium XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2012 Datacenter 48HP8-DN98B-MYWDG-T2DCC-8W83P

Windows Server 2008 R2

Operating system edition KMS Client Product Key
Windows Server 2008 R2 Web 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 HPC edition TT8MH-CG224-D3D7Q-498W2-9QCTX
Windows Server 2008 R2 Standard YC6KT-GKW9T-YTKYR-T4X34-R7VHC
Windows Server 2008 R2 Enterprise 489J6-VHDMP-X63PK-3K798-CPX3Y
Windows Server 2008 R2 Datacenter 74YFP-3QFB3-KQT8W-PMXWJ-7M648
Windows Server 2008 R2 for Itanium-based Systems GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Server 2008

Operating system edition KMS Client Product Key
Windows Web Server 2008 WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 Standard TM24T-X9RMF-VWXK6-X8JC9-BFGM2
Windows Server 2008 Standard without Hyper-V W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 Enterprise YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
Windows Server 2008 Enterprise without Hyper-V 39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 HPC RCTX3-KWVHP-BR6TB-RB6DM-6X7HP
Windows Server 2008 Datacenter 7M67G-PC374-GR742-YH8V4-TCBY3
Windows Server 2008 Datacenter without Hyper-V 22XQ2-VRXRG-P8D42-K34TD-G3QQC
Windows Server 2008 for Itanium-Based Systems 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK

Windows 8.1

Operating system edition KMS Client Product Key
Windows 8.1 Pro GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 Pro N HMCNV-VVBFX-7HMBH-CTY9B-B4FXY
Windows 8.1 Enterprise MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 8.1 Enterprise N TT4HM-HN7YT-62K67-RGRQJ-JFFXW

Windows 8

Operating system edition KMS Client Product Key
Windows 8 Pro NG4HW-VH26C-733KW-K6F98-J8CK4
Windows 8 Pro N XCVCF-2NXM9-723PB-MHCB7-2RYQQ
Windows 8 Enterprise 32JNW-9KQ84-P47T8-D8GGY-CWCK7
Windows 8 Enterprise N JMNMF-RHW7P-DMY6X-RF3DR-X2BQT

Windows 7

Operating system edition KMS Client Product Key
Windows 7 Professional FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 Professional N MRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 Professional E W82YF-2Q76Y-63HXB-FGJG9-GF7QX
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

Собственный KMS сервер позволяет значительно упростить процесс активации продуктов Microsoft в корпоративной сети, и в отличии от обычной процедуры активации, не требует предоставления каждому компьютеру доступа в интернет к серверам активации Майкрософт. Инфраструктура KMS достаточно простая, надежная и легко расширяется (один KMS сервер может обслуживать тысячи клиентов).

В этой статье мы опишем процесс установки в локальной корпоративной сети KMS сервера на базе Windows Server 2012 R2 и его активацию.

Установка и настройка роли 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.

Установка роли KMS (Volume Activation Services)

После окончания установки запустите консоль Volume Activation Tools. Запустится мастер установки службы активации. Укажите, что будет устанавливаться сервер Key Management Service (KMS).

Примечание. Если все ОС Windows, которые будут активироваться на KMS сервере, состоят в одном домене Active Directory и используемые в сети версии ОС не ниже Windows 8 / Windows Server 2012 — можно воспользоваться специальным расширением технологии KMS – Active Directory Based Activation, активацией через AD.

Тип активации KMS или ADBA

Примечание. Учетная запись, из-под которой выполняется настройка KMS сервера, должна обладать правами Enterprise Admin.

Далее на сайте Microsoft (https://www.microsoft.com/Licensing/servicecenter/home.aspx) в личном разделе необходимо получить свой корпоративный KMS ключ (KMS host key, это ключ активации KMS сервера). Найти его можно в разделе Downloads and Keys -> Windows Server -> Windows Server 2012 R2.

Получаем gvlk ключ с сайта Microsoft

Найдите ключ с типом KMS (не MAK) и скопируйте его в буфер обмена.

Вставьте скопированный KMS ключ в соответствующее поле мастера установки KMS сервера (Install your KMS host key).

Установка ключа KMS на сервере активаций

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

Активация сервера KMS по телефону или через Интернет

После активации ключа, нужно настроить параметры службы управления ключами: интервал активации и реактивации (по умолчанию клиенты продляют активацию каждые 7 дней), порт (по умолчанию служба KMS использует TCP порт 1688), исключения для Windows Firewall. Чтобы автоматически создать запись в DNS, необходимую для автоматического поиска сервера KMS в домене (SRV запись _vlmcs._tcp), включите опцию DNS Records – Publish.

Если KMS сервер должен обслуживать клиентов из разных доменов, можно опубликовать DNS записи в других DNS зонах. Укажите данные зоны в списке Publish to Custom DNS zones.

Расширенные опции настройки KMS сервера

Примечание. Если у вас включен Windows Firewall, убедитесь, что активно правило, разрешающее входящие подключения на порт 1688. Если правила нет, включите правило брандмауэра из PoSh:

Get-NetFirewallRule -DisplayName *key*
Enable-NetFirewallRule -Name SPPSVC-In-TCP

kms сервер включить правило SPPSVC-In-TCP в файерволе Windows

На это процесс настройки сервера окончен. Проверьте, что в DNS создалась специальная запись, указывающая на ваш kms сервер (подробности в статье Как найти в домене KMS сервер):

nslookup -type=srv _vlmcs._tcp.corp.winitpro.ru

Далее получим информацию о текущем состоянии KMS сервера:

slmgr.vbs /dlv

Получаем статус kms сервера: инормация о лицензии, и количестве клиентов

Нас интересуют следующие поля:

  • 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 сервере:

  1. Задайте на клиенте публичный KMS (GVLK) ключ от соответствующей редакции Windows (ссылка ниже):
    slmgr /ipk xxxxx- xxxxx - xxxxx - xxxxx – xxxxx
  2. Если KMS сервер не опубликован в DNS, укажите его адрес вручную:
    slmgr /skms kmssrvwinitpro.ru:1688
  3. Активируйте ОС командой:
    slmgr /ato

Совет. Подробнее о том, как активировать клиентов на KMS сервере описано тут).

Активированный 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 без установки указанного обновления, появиться ошибка:

Unable to verify product key. The specified product key is invalid, or is unsupported by this version of VAMT. An update to support additional products may be available online.

KMS ошибка Unable to verify product key

Несколько советов.

  • Общедоступные 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)

В данной заметке мы рассмотрим вариант развёртывания альтернативного KMS сервера, позволяющего активировать современные версии ОС Microsoft Windows/Windows Server и пакета Microsoft Office. Этот вариант будет реализован на базе ОС Debian GNU/Linux 11 (Bullseye) и исходных кодов открытого проекта vlmcsd. Для своей работы KMS сервер vlmcsd не требует наличия купленных KMS-ключей или какой-либо онлайн-активации в Microsoft. Вопрос «лицензионной чистоты» данного варианта в текущих реалиях оставим на обсуждение любителям философии и «кинутым» заказчикам известного вендора. При этом, следует понимать, что изложенный далее материал публикуется исключительно в образовательных целях и не позиционируется, как руководство к действию. Этот материал опирается на публично открытые программные продукты и не преследует цели нарушения норм действующего законодательства и правил лицензирования ПО. И вообще, мы за всё хорошее и против всего плохого. Поехали…

Сборка пакета vlmcsd под Debian

Предполагается, что под роль KMS у нас уже подготовлен выделенный сервер и на него установлена чистая ОС Debian 11. Произведём сборку deb-пакета из исходных кодов проекта vlmcsd.

Устанавливаем служебные пакеты, требуемые для сборки deb-пакета vlmcsd из его исходных кодов:

# apt install git build-essential debhelper -y

Создаём каталог для сборки пакета и переходим в него:

# mkdir ~/vlmcsd-build
# cd ~/vlmcsd-build

Клонируем с GitHub исходный код проекта и переходим в его подкаталог:

# git clone https://github.com/Wind4/vlmcsd
# cd ~/vlmcsd-build/vlmcsd

Дополнительно подкачиваем в каталог с клонированными исходниками (файлы попадут в подкаталог /debian) готовые файлы дебианизации, которые нам потребуются для сборки пакета в Debian:

# git submodule update --init debian

Выполняем сборку deb-пакета:

# dpkg-buildpackage -rfakeroot -D -us -uc

Дожидаемся окончания сборки пакета, переходим на каталог уровнем выше и проверяем наличие пакета.

# cd ~/vlmcsd-build
# ls -la ~/vlmcsd-build

Build deb package for KMS server vlmcsd in Debian 11

Устанавливаем готовый deb-пакет в систему:

# dpkg -i ./vlmcsd_1113_amd64.deb
Настройка службы vlmcsd

В процессе установки будет запущена служба vlmcsd.service. Проверим её состояние:

# systemctl status vlmcsd.service

KMS server vlmcsd service state in Debian Linux 11

Как видим, служба запущена с использованием конфигурационного файла /etc/vlmcsd/vlmcsd.ini.
В этом файле, при необходимости, мы можем изменить параметры работы службы. Например, мы можем отключить TCP прослушиватель для IPv6, раскомментировав строку, явно указывающую на использование IPv4:

...
Listen = 0.0.0.0:1688
...

KMS server vlmcsd service configuration file

Также можем включить логирование службы (изменим путь к лог-файлу по умолчанию, добавив в /var/log/ отдельный подкаталог vlmcsd):

...
LogFile = /var/log/vlmcsd/vlmcsd.log
...

После правок файла конфигурации создаём подкаталог под логи и перезапускаем службу:

# mkdir /var/log/vlmcsd
# systemctl restart vlmcsd.service

Убедимся, что в системе поднялся TCP-прослушиватель службы на порту 1688:

# ss -lnptu | grep 1688

KMS server vlmcsd TCP 1688 Listener in Debian Linux 11

Не забываем открыть соответствующий порт в правилах nftables/iptables.

Теперь давайте посмотрим, как у нас обстоят дела с логированием работы службы. Если попытаемся проверить лог-файл, обозначенный в конфигурации vlmcsd.ini, то можем обнаружить его отсутствие в файловой системе. Это связано в тем, что гражданин, который готовил файлы дебаиназиации, не очень заморачивался по поводу культуры запуска службы.

Давайте заглянем в свойства службы, как юнита systemd:

# systemctl cat vlmcsd

vlmcsd systemd service default settings in Debian Linux 11

Как увидим, запуск службы настроен в контексте пользователя «nobody«.

Исправим эту ситуацию, создав нового выделенного пользователя, например «vlmcsd«, и написав правила переопределения (override) для юнита systemd.

Создаём нового системного пользователя:

# useradd -s /usr/sbin/nologin -r -M vlmcsd

Отдельный подкаталог под логи мы уже создали ранее, поэтому теперь назначаем на данный подкаталог права для выделенного пользователя и его группы:

# chown -R vlmcsd:vlmcsd /var/log/vlmcsd

Теперь создадим override для службы vlmcsd.service таким образом, чтобы служба запускалась в контексте пользователя «vlmcsd» с одноимённой группой.

# systemctl edit vlmcsd.service

Добавляем в override-файл следующий фрагмент:

[Service]
User=vlmcsd
Group=vlmcsd

Systemd unit vlmcsd.service override

Сохраняем override-файл, закрываем его и перезапускаем конфигурацию служб:

# systemctl daemon-reload
# systemctl restart vlmcsd.service
# systemctl cat vlmcsd.service

KMS server vlmcsd systemd unit settings in Debian Linux 11

Проверяем: состояние службы; наличие TCP прослушивателя; пользователя, от которого запущена служба; успешность записи в лог файл

# systemctl status vlmcsd.service
# ss -lnptu | grep 1688
# ps -aux | grep vlmcsd
# cat /var/log/vlmcsd/vlmcsd.log

KMS server vlmcsd in Debian Linux 11

Как видим, служба запущена с учётом ранее настроенного нами переопределения с процессом от имени выделенного пользователя «vlmcsd«, в системе доступен TCP-прослушиватель на порту 1688, а логи службы успешно записываются в указанный нами файл. На этом настройку KMS сервера можем считать законченной и переходить к его тестированию.

Проверка работы KMS

Для возможности активации с развёрнутого KMS сервера, ОС Windows должна быть настроена в качестве KMS клиента путём предварительной установки в систему публично доступного ключа Generic Volume License Key (GVLK).

Найти ключи GVLK для клиентских и серверных ОС Windows можно по адресу: «Key Management Services (KMS) client activation and product keys for Windows Server and Windows»

Попробуем провести активацию современной серверной ОС Windows Server 2022 21H2 Standard. Для этого на только что установленной и ещё неактивированной ОС с правами администратора выполним команды установки GVLK ключа, указания адреса KMS сервера и последующей активации:

slmgr.vbs -ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H
slmgr.vbs -skms <IP или FQDN хоста KMS>
slmgr.vbs -ato

При выполнении последней команды мы должны получить сообщение об успешной активации Windows.

Activated Windows Server 2022 with KMS server vlmcsd on Linux

Проверить текущий статус активации можем командой:

slmgr.vbs -dlv

Activated Windows Server 2022 with KMS server vlmcsd on Linux

Аналогичным образом проверяем возможность активации клиенткой ОС Windows 10 21H2 Pro, используя GVLK «W269N-WFGWX-YVC9B-4J6C9-T83GX«.

Activated Windows 10 21H2 with KMS server vlmcsd on Linux

Теперь нам остаётся проверить возможность активации пакета Microsoft Office.

Официальные ключи GVLK для Office 2016/2019/2021 можно найти по ссылке: «GVLKs for KMS and Active Directory-based activation of Office, Project, and Visio — Deploy Office».

Например, для активации 32-битной версии Office 2016 Pro на Windows 10 можно выполнить команды вида:

cd /d "C:\Program Files (x86)\Microsoft Office\Office16"
cscript ospp.vbs /sethst:<IP или FQDN хоста KMS>
cscript ospp.vbs /act

Activated Microsoft Office 2016 with KMS server vlmcsd on Linux

Как видим, офисный пакет успешно активировался. Проверить текущий статус активации Office можно командой:

cscript ospp.vbs /dstatusall
Другие варианты развертывания сервера KMS

Если описанный выше вариант самостоятельного развёртывания сервера KMS на базе исходных кодов vlmcsd кажется вам чем-то сложным и у вас полностью атрофировано чувство страха перед «чёрными ящиками» в виде готовых виртуальных аплайнсов из непроверенных источников, то можете обратить внимание на проект Иранских коллег с ресурса «DiGiBoY».

«DiGiBOX» – это миниатюрный образ готовой виртуальной машины VMWare, собранный на базе 32-битной версии Alpine Linux, требующий 1 процессорного ядра и 128 MB ОЗУ.

Digibox

При запуске аплайнса достаточно указать базовые параметры IP с помощью TUI в команде digibox-config и уже через минуту эта система будет готова принимать и обрабатывать запросы от KMS-клиентов из локальной сети. Аплайнс не требует доступа в интернет и может быть размещён в изолированной сетевой «песочнице», из которой достаточно иметь открытый порт TCP 1688 для работы сервера KMS.

Признаться, когда сверху спустили распоряжение перевести офис на лицензионные 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

Дисклеймер: Статья приводиться в рамках обучения и ознакомления. В реальном проекте вам необходимо использовать официальные средства активации от Microsoft. Автор статьи осуждает использования нелицензионного ПО в любом виде.

Продолжим. Возможно, вам знакома программа эмулятор KMS, которая запускается в виде exe файла на рабочих станциях. Это, мягко говоря, не безопасно, о чем свидетельствуют блокировки этой программы антивирусом (любая неофициальная exe программа с закрытым кодом небезопасна). Сегодня мы научимся активировать любое устройство в сети очень простым способом.

На Github есть open source проект, который позволяет запустить эмулятор KMS в рамках сети. По сути, это эмулятор KMS сервера, который изначально и создавался для активации множества устройств в рамках большой сети.

Проект называется vlmcsd (https://github.com/Wind4/vlmcsd) и позволяет установить KMS сервер не на Windows, а на Linux (или любую другую ОС) тем самым существенно сэкономив вычислительные ресурсы.

В данной статье расскажу, как установить этот KMS сервер к качестве контейнера Docker, а также как настроить автоматическую активацию Windows Server, Windows и Microsoft Office и на долгое время забыть о необходимости ручной активации.

1. Установка Docker

Если у вас уже есть установленный Doсker, можете сразу перейти к пункту 2.

Будем считать, что у вас уже есть установленный сервер Linux. На нашем примере мы используем Ubuntu 22.04 (LTS), но вы можете установить Docker на любую другую ОС.

Официальная инструкция по установке: https://docs.docker.com/engine/install/

Установка Docker на Ubuntu

Устанавливаем официальный GPG ключ докера:

sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Добавляем репозиторий и обновляем:

echo \
 "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Устанавливаем Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Устанавливаем docker-compose версии v2.27.1 (можно проверить актуальную версию) на официальном сайте: https://github.com/docker/compose/releases

sudo curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Прописываем разрешения:

sudo chmod +x /usr/local/bin/docker-compose

Проверяем успешность установки командой (показывает установленную версию):

Запуск без sudo

Чтобы запускать контейнеры без команды sudo надо добавить своего пользователя в группу docker:

Создаем группу если её нет:

Добавляем себя:

sudo gpasswd -a ${USER} docker

Перезагружаем службу Docker:

sudo service docker restart

Обновляем группу чтобы нам не перезагружать сервер:

На этом установка Docker завершена

2. Запуск контейнера

Находясь в домашней папке (cd ~), делаем клон проекта:

git clone https://github.com/Wind4/vlmcsd-docker.git vlmcsd

Заходим в папку:

Запускаем контейнер через docker-compose:

Проверить запущен ли контейнер можно командой:

3. Настройка портов

По умолчанию программа vlmcsd работает на стандартном порту KMS — TCP/1688. Docker сам пробрасывает нужный порт, но вот если у вас есть Firewall в сети, то надо прописать доступ от сетей с устройствами (сервера и рабочие станции) до сервера Docker.

4. Прописать запись в DNS

Для автоматического поиска сервера KMS в домене необходимо внести запись _VLMCS в DNS.

Проще всего для этого использовать команду PowerShell (вам нужно ввести эту команду на вашем сервере AD DNS):

Add-DnsServerResourceRecord -Srv -Name "_VLMCS._tcp" -ZoneName "corp.contoso.com" -DomainName "10.10.3.11" -Priority 0 -Weight 0 -Port 1688

Где corp.contoso.com – домен вашей AD зоны,

а 10.10.3.11 – IP адрес сервера Docker с контейнером KMS.

5. Активация Windows

Теперь все устройства в домене с Windows и Office будут автоматически активироваться на KMS сервере, если у них установлены ключи GVLK (Windows версии VL, либо с прописанным KMS ключом.

При установке Windows прописывайте KMS ключи с официального сайта: https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys

Если вам нужно активировать Windows вручную воспользуйтесь командами PowerShell:

Прописать ключ (если еще не прописан), например, KMS ключ для Windows Server 2022 Standard:

slmgr.vbs -ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H

Активировать:

slmgr.vbs -skms 10.10.3.11

После выполнения команды должна появиться надпись Product activated successfully

Проверить активацию Windows можно командой:

Тут могут возникнуть ошибки если у вас установлены не те версии Windows. Если что задавайте вопросы в комментариях.

Если активация прошла успешно, то вы увидите такое сообщение:

KMS activation message

Сообщение об успешной активации Windows Server 2022 Standart

6. Активация Office

Аналогичным образом активируется Microsoft Office 2022/2019/2016/2013. Для активации используйте команды:

Переход в папку с офисом:

cd C:\Program Files\Microsoft Office\Office16

Активация:

cscript ospp.vbs /sethst: 10.10.3.11

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

cscript ospp.vbs /dstatusall

Вот, собственно, и все. Самая долгая часть — это установить Docker. Если у вас уже есть Docker и там свободен порт 1688, то для вас настройка займет минут 5–10.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Бэкап raspberry pi под windows
  • Как обновить звуковой драйвер на windows 10 pro
  • Сразу после установки windows 7 не запускается
  • Сколько весит windows 10 pro 64 bit после установки
  • Как подключить ноутбук к телевизору через chromecast на windows 10