kms
June 10, 2024

Установка сервера для активации Windows и Office

URL="https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz"

cd ~
mkdir vlmcsd && cd vlmcsd
wget -q ${URL}
tar xzf $(basename ${URL})
install --mode=0755 binaries/Linux/intel/static/vlmcs-x64-musl-static /usr/bin/vlmcs
install --mode=0755 binaries/Linux/intel/static/vlmcsd-x64-musl-static /usr/bin/vlmcsd
install --mode=0755 binaries/Linux/intel/static/vlmcsdmulti-x64-musl-static /usr/bin/vlmcsdmulti

cd .. && rm -rf vlmcsd

mkdir -p /etc/vlmcsd/
wget -q -O /etc/vlmcsd/vlmcsd.ini https://raw.githubusercontent.com/Wind4/vlmcsd/master/etc/vlmcsd.ini
wget -q -O /etc/vlmcsd/vlmcsd.kmd https://github.com/Wind4/vlmcsd/raw/master/etc/vlmcsd.kmd

wget -q -O - https://raw.githubusercontent.com/Wind4/vlmcsd/master/man/vlmcs.1 | gzip >/usr/share/man/man1/vlmcs.1.gz
wget -q -O - https://raw.githubusercontent.com/Wind4/vlmcsd/master/man/vlmcsd.7 | gzip >/usr/share/man/man7/vlmcsd.7.gz
wget -q -O - https://raw.githubusercontent.com/Wind4/vlmcsd/master/man/vlmcsd.8 | gzip >/usr/share/man/man8/vlmcsd.8.gz
wget -q -O - https://raw.githubusercontent.com/Wind4/vlmcsd/master/man/vlmcsd.ini.5 | gzip >/usr/share/man/man5/vlmcsd.ini.5.gz
wget -q -O - https://raw.githubusercontent.com/Wind4/vlmcsd/master/man/vlmcsdmulti.1 | gzip >/usr/share/man/man1/vlmcsdmulti.1.gz

wget -q -O /etc/systemd/system/vlmcsd.service https://raw.githubusercontent.com/Wind4/vlmcsd-debian/master/vlmcsd.service

systemctl daemon-reload
systemctl enable --now vlmcsd.service
systemctl status vlmcsd.service

unset URL

Скрипт скачивает архив, распаковывает его и устанавливает файлы приложения, справки, конфига и системной службы. Для настройки клиента KMS на Windows используется скрипт slmgr.vbs

Скрипт slmgr.vbs идет в стандартной поставке Windows и отдельной установки не требует.

Посмотреть настройки:

slmgr /dli
slmgr /dlv

Задать сервер KMS:

slmgr /skms IP
slmgr /skms FQDN

Очистить настроенные параметры:

slmgr /ckms

Установить ключ:

slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43

Если у вас есть собственный домен (для примера будем использовать имя домена example.com) можно создать SRV запись для публикации KMS сервера:

Имя: _vlmcs._tcp.
Тип: SRV
Значение: kms.example.com
Приоритет: 0
Вес: 0
Порт: 1688

Имя: kms
Тип: A
Значение: IP адрес вашего сервера

Записей типа А с именем kms может быть несколько если у вас несколько kms серверов. Если сервер один, в SRV записи можно указать IP сервера и не регистрировать А запись. По умолчанию KMS использует протокол TCP, порт 1688.

Если настраиваем DNS домен с публикацией служб KMS, настройка клиента тоже будет немного отличаться.

Если компьютер не в домене, домен поиска можно задать в настройках сетевого интерфейса - Кнопка Дополнительно, вкладка DNS.

Если компьютер получает параметры сети от DHCP сервера, в параметрах DHCP сервера можно указать опцию 15 - DNS имя домена. В нашем случае имя домена будет example.com, так как публикация службы KMS выполнена в корне домена второго уровня.

Еще один вариант задания KMS сервера через ранее использованный slmgr.vbs:

slmgr /skms-domain example.com

Очистить настройку домена поиска KMS:

slmgr /ckms-domain

Теперь, когда все настроено, можно пробовать активировать систему:

slmgr /ato

Через службы KMS можно так же активировать MS Office. Начиная с версии Office 2019 отдельная настройка для этого не требуется, офисный пакет читает настройки активации Windows. До версии Office 2016 включительно, необходимо настраивать параметры KMS сервера собственным скриптом расположенным по пути:

"C:\Program Files\Microsoft Office\Office16\OSPP.VBS"

Путь до файла OSPP.VBS может отличаться в зависимости от разрядности 32/64 и версии Office.

Более подробно описание работы с KMS и ключи активации можно найти на сайте Miscrosoft - https://learn.microsoft.com/ru-ru/windows-server/get-started/kms-client-activation-keys