slmgr /ipk <product key>
slmgr.vbs -skms 10.2.4.4
slmgr.vbs -ato
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

Устанавливаем готовый 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 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

Как видим, офисный пакет успешно активировался. Проверить текущий статус активации 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.
Команда 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
?