KMS-активация
Общая информация
KMS-активация работает следующим образом.
На клиентах устанавливаются общедоступные GVLK-ключи, которые можно найти на сайте Microsoft. Они разные для разных редакций. KMS-сервер (отдельная роль) активируется CSVLK ключем, который клиент получает от MS. Клиенты стучатся на KMS-серввер через специальную DNS-запись. Через KMS можно активировать неограниченное количество лицензий. О них сервер передает информацию в MS.
Установка эмулятора KMS на Ubuntu 20.04
Существует проект эмулятора KMS-сервера для Linux: vlmcsd.
Ссылка: https://github.com/Wind4/vlmcsd
Установка на Ubuntu
На Ubuntu, где хотим установить vlmcsd - поставим gcc и git, если надо:
sudo apt install gcc sudo apt install git
Клонируем репозиторий:
git clone https://github.com/Wind4/vlmcsd
Компилим:
cd vlmcsd make
Проверяем запуск бинаря после компила:
cd bin ./vlmcsd
Для автоматического запуска копируем бинарь в бин и создаем инициализационный скрипт systemd:
cp vlmcs /usr/bin touch /etc/systemd/system/kms-script.service chmod 664 /etc/systemd/system/kms-script.service nano /etc/systemd/system/kms-script.service
Вставляем в nano содержимое:
[Unit] Description=MSFT KMS Server Emulator After=network.target After=network-online.target Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/bin/vlmcsd RemainAfterExit=yes LimitNOFILE=65536 [Install] WantedBy=multi-user.target
Переинициализируем systemd, проверяем работу скрипта, разрешаем его запуск:
systemctl daemon-reload systemctl start kms-script.service systemctl status kms-script.service systemctl enable kms-script.service
Установка DNS-записи
Теперь, чтобы клиенты могли найти KMS-сервер, нам нужно создать DNS-запись типа SRV в разделе tcp для него с указанием адреса и порта (1688).
Пример:
При помощи PS добавить запись можно так:
Add-DnsServerResourceRecord -Srv -Name "_VLMCS._tcp" -ZoneName "arasaka.labs" -DomainName "10.88.88.21" -Priority 0 -Weight 0 -Port 1688
Теперь клиентам нужно установить GVLK-ключ, вот команда (данный ключ - это GVLK-ключ корпоративной версии Windows 10):
slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43
Можно установить в тихом режиме и запустить активацию (полезно для удаленного выполнения):
cscript //B "c:\windows\system32\slmgr.vbs" /ipk N69G4-B89J2-4G8F4-WWYCC-J464C cscript //B "c:\windows\system32\slmgr.vbs" /ato
Активировать Windows можно командой:
slmgr -ato
Ключи GVLK для различных редакций Windows:
https://docs.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys
А вот здесь ключи на самом проекте эмулятора (включая ключи на офис):
http://wind4.github.io/vlmcsd/
Локальный бэкап ключей на Windows и MS Office:
Управление активацией через Volume Activation Management Tool
Централизованно можно управлять активацией через Volume Activation Management Tool от MS. Она может подключаться удаленно и устанавливать ключи активации\производить процедуру активации.
Утилита может не находить компьютеры в домене через поиск AD. Тогда может помочь запрос LDAP. Пример запроса, который произведет поиск в домене всех компьютеров:
LDAP://office.contoso.com??sub?(&(objectClass=computer)(operatingSystemVersion=*)
Узнать статус активации командой
Без всплывающего графического окна:
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | >> where { $_.PartialProductKey } | select Description, LicenseStatus
С всплывающим сообщением:
slmgr /xpr
Активировать с конкретного сервера
slmgr /skms kms_server.winitpro.ru:1688