slmgr /ipk <product key>
slmgr.vbs -skms 10.2.4.4
slmgr.vbs -ato

https://learn.microsoft.com/ru-ru/windows-server/get-started/kms-client-activation-keys?tabs=server2025%2Cwindows1110ltsc%2Cversion1803%2Cwindows81

Windows 11 Профессиональная
Windows 10 Профессиональная     W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 11 Pro для рабочих станций
Windows 10 Pro для рабочих станций     NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 11 Корпоративная
Windows 10 Корпоративная     NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 11 Корпоративная LTSC 2024 г.
Windows 10 Корпоративная LTSC 2021
Windows 10 Корпоративная LTSC 2019     M7XTQ-FN8P6-TTKYV-9D4CC-J462D
Windows Server 2012 R2 Standard     D2N9P-3P6X9-2R39C-7RTCD-MDVJX
Windows Server 2012     BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows Server 2012 Standard     XC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows 8.1 Профессиональная     GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 Корпоративная     MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 7 Профессиональная     FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 Корпоративная     33PXH-7Y6KF-2VJC9-XBBR8-HVTHH

Windows Server 2025 Standard     TVRH6-WHNXV-R9WG3-9XRFY-MY832
Windows Server 2022 Standard     VDYBN-27WPP-V4HQT-9VMD4-VMK7H
Windows Server 2019 Standard     N69G4-B89J2-4G8F4-WWYCC-J464C
Windows Server 2016 Standard     WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY

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

cscript ospp.vbs /dstatusall
https://learn.microsoft.com/en-us/office/volume-license-activation/gvlks?redirectedfrom=MSDN

Office LTSC Professional Plus 2024     XJ2XN-FW8RK-P4HMP-DKDBV-GCVGB
Office LTSC Standard 2024     V28N4-JG22K-W66P8-VTMGK-H6HGR
Office LTSC Professional Plus 2021     FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH
Office LTSC Standard 2021     KDX7X-BNVR8-TXXGX-4Q7Y8-78VT3
Office Professional Plus 2019 NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
Office Standard 2019 6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK
Office Professional Plus 2016 XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
Office Standard 2016 JNRGM-WHDWX-FJJG3-K47QV-DRTFM

====================================================

В данной заметке мы рассмотрим вариант развёртывания альтернативного 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

Для активации Office 2021

Test-Path "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /sethst:<IP или FQDN хоста KMS>
cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
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.

Команда Set-Location "C:\Program Files\Microsoft Office\Office16" в PowerShell корректна и должна переместить текущую рабочую директорию в папку Office16, если она существует.

Если после этого ты хочешь активировать Office через KMS, то следующие шаги будут такими:


✅ Полная последовательность в PowerShell для 64-битной версии Office

Set-Location "C:\Program Files\Microsoft Office\Office16"

# Установка адреса KMS-сервера
cscript ospp.vbs /sethst:<IP или FQDN KMS-сервера>

# Активация Office
cscript ospp.vbs /act

🔹 Замените <IP или FQDN KMS-сервера> на адрес вашего KMS-сервера.
🔹 Убедитесь, что у вас есть права администратора и доступ к KMS.


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

После активации можно проверить статус:

cscript ospp.vbs /dstatus

Если Set-Location не работает, проверь:

  • Существует ли путь "C:\Program Files\Microsoft Office\Office16"
  • Установлена ли 64-битная версия Office
  • Запущен ли PowerShell от имени администратора

Хочешь, я помогу составить универсальный скрипт, который сам определяет версию Office и путь к ospp.vbs?

От alex

Обучаемый.