User Tools

Site Tools


kms-активация

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:

GVLK-ключи


Управление активацией через 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
kms-активация.txt · Last modified: 2024/12/26 14:23 by jp