Опубликовано

Установка сервера активации KMS - vlmcsd

Авторы

Дисклеймер: Статья приводиться в рамках обучения и ознакомления. В реальном проекте вам необходимо использовать официальные средства активации от 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 update
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
sudo apt-get update

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

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

docker-compose --version

Запуск без sudo

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

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

sudo groupadd docker

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

sudo gpasswd -a ${USER} docker

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

sudo service docker restart

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

newgrp docker

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

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

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

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

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

cd vlmcsd

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

docker-compose up -d

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

docker-compose ps

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
slmgr.vbs -ato

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

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

slmgr.vbs -dlv

Тут могут возникнуть ошибки если у вас установлены не те версии 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 /act

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

cscript ospp.vbs /dstatusall

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