Просмотрено раз: 996
Введение
В данной заметке поговорим о активации продуктов Microsoft с помощью личного KMS сервера, быстренько развернем его в Docker и на примере переактивируем мою машину под управлением Windows 10 LTSC в 4 команды. В данной заметке мы не будем разбирать зачем это все надо, правильно это или нет, кому надо, а кому не надо.
На помощь нам придет Vlmcsd, это KMS сервер с открытым исходным кодом, на C, работающий из под Linux, но мы разберем готовый контейнер с Docker-Hub который для нас любезно собрали (на момент написания заметки 10 миллионов скачиваний).
С помощью 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.
2. Идем на сайт Microsoft или листаем в самый низ сюда и ищем там ключик на нашу версию, в моем случае это Windows 10 LTSC.
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
Готово, мы с вами получили активированный 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.
После окончания установки запустите консоль Volume Activation Tools. Запустится мастер установки службы активации. Укажите, что будет устанавливаться сервер Key Management Service (KMS).
Примечание. Если все ОС Windows, которые будут активироваться на KMS сервере, состоят в одном домене Active Directory и используемые в сети версии ОС не ниже Windows 8 / Windows Server 2012 — можно воспользоваться специальным расширением технологии KMS – Active Directory Based Activation, активацией через AD.
Примечание. Учетная запись, из-под которой выполняется настройка 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.
Найдите ключ с типом 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.
Примечание. Если у вас включен Windows Firewall, убедитесь, что активно правило, разрешающее входящие подключения на порт 1688. Если правила нет, включите правило брандмауэра из PoSh:
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 сервере описано тут).
Активированный 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 ключи для 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
Устанавливаем готовый deb-пакет в систему:
# dpkg -i ./vlmcsd_1113_amd64.deb
Настройка службы vlmcsd
В процессе установки будет запущена служба vlmcsd.service. Проверим её состояние:
# systemctl status vlmcsd.service
Как видим, служба запущена с использованием конфигурационного файла /etc/vlmcsd/vlmcsd.ini.
В этом файле, при необходимости, мы можем изменить параметры работы службы. Например, мы можем отключить TCP прослушиватель для IPv6, раскомментировав строку, явно указывающую на использование IPv4:
...
Listen = 0.0.0.0:1688
...
Также можем включить логирование службы (изменим путь к лог-файлу по умолчанию, добавив в /var/log/ отдельный подкаталог vlmcsd):
...
LogFile = /var/log/vlmcsd/vlmcsd.log
...
После правок файла конфигурации создаём подкаталог под логи и перезапускаем службу:
# mkdir /var/log/vlmcsd
# systemctl restart vlmcsd.service
Убедимся, что в системе поднялся TCP-прослушиватель службы на порту 1688:
# ss -lnptu | grep 1688
Не забываем открыть соответствующий порт в правилах nftables/iptables.
Теперь давайте посмотрим, как у нас обстоят дела с логированием работы службы. Если попытаемся проверить лог-файл, обозначенный в конфигурации vlmcsd.ini, то можем обнаружить его отсутствие в файловой системе. Это связано в тем, что гражданин, который готовил файлы дебаиназиации, не очень заморачивался по поводу культуры запуска службы.
Давайте заглянем в свойства службы, как юнита systemd:
# systemctl cat vlmcsd
Как увидим, запуск службы настроен в контексте пользователя «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
Сохраняем override-файл, закрываем его и перезапускаем конфигурацию служб:
# systemctl daemon-reload
# systemctl restart vlmcsd.service
# systemctl cat vlmcsd.service
Проверяем: состояние службы; наличие TCP прослушивателя; пользователя, от которого запущена служба; успешность записи в лог файл
# systemctl status vlmcsd.service
# ss -lnptu | grep 1688
# ps -aux | grep vlmcsd
# cat /var/log/vlmcsd/vlmcsd.log
Как видим, служба запущена с учётом ранее настроенного нами переопределения с процессом от имени выделенного пользователя «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.
Проверить текущий статус активации можем командой:
slmgr.vbs -dlv
Аналогичным образом проверяем возможность активации клиенткой ОС Windows 10 21H2 Pro, используя GVLK «W269N-WFGWX-YVC9B-4J6C9-T83GX«.
Теперь нам остаётся проверить возможность активации пакета 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
Как видим, офисный пакет успешно активировался. Проверить текущий статус активации Office можно командой:
cscript ospp.vbs /dstatusall
Другие варианты развертывания сервера KMS
Если описанный выше вариант самостоятельного развёртывания сервера KMS на базе исходных кодов vlmcsd кажется вам чем-то сложным и у вас полностью атрофировано чувство страха перед «чёрными ящиками» в виде готовых виртуальных аплайнсов из непроверенных источников, то можете обратить внимание на проект Иранских коллег с ресурса «DiGiBoY».
«DiGiBOX» – это миниатюрный образ готовой виртуальной машины VMWare, собранный на базе 32-битной версии Alpine Linux, требующий 1 процессорного ядра и 128 MB ОЗУ.
При запуске аплайнса достаточно указать базовые параметры 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:
- Узнать количество запросов на активацию можно, запустив на KMS сервере команду slmgr.vbs /dli С помощью этой же команды, запущенной на клиентском компьютере, можно узнать состояние и тип лицензии на нем.
- Software Licensing Service (slmgr.vbs) может быть запущен удаленно:
slmgr.vbs TargetComputerName [username] [password] /parameter [options] - Если по какой-либо причине вы не хотите публиковать адрес KMS сервера в DNS, то этот функционал можно отключить на сервере командой slmgr.vbs /cdns, а на клиентских компьютерах вручную указывать KMS сервер командой slmgr.vbs /skms [KmsHostName:port]
- Если клиентский компьютер был «навечно затриален» с помощью запрета доступа к файлу 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. Если что задавайте вопросы в комментариях.
Если активация прошла успешно, то вы увидите такое сообщение:
Сообщение об успешной активации 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.