- Опубликовано
Установка сервера активации KMS - vlmcsd
- Авторы
- Имя
- George Lekiashvili
- @lekiashvili_dev
Дисклеймер: Статья приводиться в рамках обучения и ознакомления. В реальном проекте вам необходимо использовать официальные средства активации от 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. Если что задавайте вопросы в комментариях.
Если активация прошла успешно, то вы увидите такое сообщение:
Сообщение об успешной активации 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.