Активация Microsoft Office KMS сервером

KMS

Всех приветствую вновь на страницах своего блога. Давно у меня не была закрыта данная тема относительно лицензирования Microsoft Office в рамках домена Active Directory. В сегодняшней публикации мы с вами поговорим о дополнительной настройке вашего KMS сервера, чтобы у него была возможность обрабатывать запросы активации офисных продуктов Microsoft, поговорим про устранение ошибок и проработает бытовые сценарии эксплуатации. Думаю, что будет интересно, да и мне в очередной раз уже надоело искать урывками информацию, по разным сайтам, помогу и себе.

Как работает KMS активация Microsoft Office

Прежде, чем мы с вами произведем необходимые настройки, я в крупную клетку вам напомню концепцию работы данного механизма активации продуктов Microsoft.

  1. Клиентские машины автоматически пытаются обнаружить KMS-сервер через DNS. Если все настроено правильно, они найдут его.
  2. Клиент отправляет запрос на активацию на KMS-сервер. Запрос включает информацию о версии Office и других параметрах.
  3. KMS-сервер проверяет, есть ли у него права для активации данного клиента. Для активации требуется минимум 25 активированных клиентов.
  4. Если все условия выполнены, KMS-сервер отправляет ответ с подтверждением активации клиенту.
  5. Клиент получает подтверждение активации и сохраняет эту информацию локально.
  6. Клиенты должны повторно активироваться каждые 180 дней. Они будут автоматически пытаться переактивироваться, используя тот же процесс.

Схема активации Microsoft Office через KMS

 

Настройка KMS сервера для активации Office 2024/2021/2019/2016

Обычно сервер активации пакетов Microsoft Office устанавливают на уже существующий KMS сервер (серверы). В моем случае, уже есть установленный и настроенный KMS для раздачи Windows лицензий.

Для успешной работы вы должны получить ваш персональный KMS ключ для канала лицензирования Microsoft Office. Его сейчас можно посмотреть в кабинете Microsoft 365 Admin Center. Если вам его еще незаблокировали 🙂

В кабинете "Microsoft 365 Admin Center" вам необходимо перейти в раздел:

Billing - Your products - Volume licensing - Download and keys - https://go.microsoft.com/fwlink/p/?linkid=842054

Microsoft 365 Admin Center

Надеюсь, что он у вас есть, но бывают ситуации, что может быть и так.

Переход невозможен. К сожалению, открываемый вами ресурс недоступен. Microsoft 365 Admin Center "Tenant is denied"

tenant is denied

Теперь, чтобы добавить на ваш KMS сервер нужный канал лицензирования, вам необходимо скачать специальный пакет Microsoft Office Volume License Pack. Это небольшая утилита, помогающая произвести дополнительные настройки на KMS сервере, чтобы добавить в него ключ, позволяющий обслуживать запросы клиентов Microsoft Office.

Скачивание пакета корпоративного лицензирования Microsoft Office

  • Microsoft Office 2016 Volume License Pack - https://www.microsoft.com/en-us/download/details.aspx?id=49164
  • Microsoft Office 2019 Volume License Pack - https://www.microsoft.com/en-us/download/details.aspx?id=57342
  • Microsoft Office 2021 Volume License Pack - https://www.microsoft.com/en-us/download/details.aspx?id=103446
  • Microsoft Office 2024 Volume License Pack - https://www.microsoft.com/en-us/download/details.aspx?id=106246 

В последующей настройке, я хочу добавить активацию Microsoft Office 2021 Pro Plus, поэтому выбираю Microsoft Office 2021 Volume License Pack. 

Обратите внимание, что не важно какую языковую версию вы скачиваете, по факту вы получите один и тот же файл.

Скачивание пакета корпоративного лицензирования Microsoft Office

Исходя из своего опыта, я понимаю, что Microsoft всегда может закрыть ссылки или удалить более старые пакеты, поэтому я все скачиваю и храню в облаке и локально. Приведу тут ссылку на облачную папку с данными пакетами корпоративного лицензирования Microsoft Office -

Скачать Microsoft Office Volume License Pack

Переходим на KMS сервер и копируем на него Microsoft Office Volume License Pack. Далее запустим его в режиме администратора. В моем случае это Office2021VolumeLicensePack_x64.exe.

Онлайн активация серверного KMS ключа для Microsoft Office

Office2021VolumeLicensePack_x64.exe

Принимаем лицензионное соглашение выставив галочку "Click here to accept the Microsoft Software License Teams".

Click here to accept the Microsoft Software License Teams

В окне командной строки вы увидите установку файлов:

Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\client-issuance-bridge-office.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\client-issuance-ul-oob.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\client-issuance-ul.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2019vl_kms_host-pl.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2019vl_kms_host-ppd.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2019vl_kms_host-ul-oob.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2019vl_kms_host-ul-phn.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2021vl_kms_host-pl.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2021vl_kms_host-ppd.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2021vl_kms_host-ul-oob.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshost2021vl_kms_host-ul-phn.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshostvl_kms_host-pl.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshostvl_kms_host-ppd.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshostvl_kms_host-ul-oob.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\kmshostvl_kms_host-ul-phn.xrm-ms
Installing license: C:\Program Files (x86)\MSECache\OfficeKMS\win8\pkeyconfig-office-kmshost.xrm-ms

Если все успешно, то будет запущено окно мастера "Volume Activation Services"

окно мастера Volume Activation Services

На первом шаге просто нажмите "Next". Далее у вас есть два варианта установки KMS ключа для продуктов MS Office:

  • ADBA (Active Directory-Based Activation) - Это доменная интеграция
  • Активация на KMS сервере - Тут все понятно, но нужно будет точечно указать.

Я выбираю вариант "Key Management Service (KMS)", с помощью кнопки "Browse" вам необходимо указать, на каком объекте компьютера находится служба (Лучше выбирать FQDN). После выбора нажать "Ok".

Выбор метода добавление KMS ключа для активации Office

Нажимаем "Next". На следующем шаге мастера настройки вам предложат три варианта:

  • Install your KMS host key - Тут вам необходимо будет вставить скопированный ранее из кабинета Microsoft 365 Admin Center код.
  • Skip to Activation - пропустить активацию
  • Skip to Configuration - пропустить настройку

Указание KMS ключа для активации Microsoft Office

Выбрав первый пункт (Install your KMS host key), начнется проверка вашего KMS ключа. Если с ним все в порядке, и он не заблокирован, то вы увидите какой продукт он может активировать и будут методы проверки единоразовой его активации. В моем случае я планирую проводить активацию Microsoft Office 2021, тут сразу видно это в поле продукта "Office 2021, VOLUME_KMS channel". Активировать серверный ключ я буду через интернет "Activate Online". Нажимаем "Commit".

Обратите внимание, что есть вариант и офлайн активации, с помощью телефона, подойдет для изолированных сред.

Активаиця KMS ключа для Microsoft Office Online

У вас появится окно с уточнением. будем ли мы активировать KMS хост, говорим "Yes"

This will activate the KMS host

This will activate the KMS host

Если все хорошо, то вы увидите список продуктов, которые поддерживает ваш KMS сервер, и тут должна появиться запись, о "Office 21, VOLUME_KMS_ channel" со статусом Licensed. Нажимаем кнопку "Next".

Успешная активация KMS ключа для Microsoft Office

Заключительным этапом будет шаг мастера "Configure Key Management Service Options". тут вы можете задать настройки по какому порту будет работать KMS, публикацию в домене, создание DNS записи периоды повторной активации. Тут оставьте как есть, единственное если не добавлено исключение в брандмауэр и нет публикации в DNS сделайте это. Нажимаем "Commit"

Руками сделать исключение может помочь PowerShell - Enable-NetFirewallRule -Name SPPSVC-In-TCP

Произвести проверку доступности порта, можете посмотреть в данной статье.

Configure Key Management Service Options

У вас должно появиться окно, об успешной установке ключа активации Microsoft Office.

The Microsoft Office Volume License Pack has been successfully installed

The Microsoft Office Volume License Pack has been successfully installed

Поздравляю у вас все получилось, если вам необходимо производить активацию других версий Microsoft Office, то соответствующие ключи необходимо добавить так же.

Как проверить серверный KMS ключ для активации Microsoft Office

Лицензию я установил, как теперь мне удостовериться, что нужный KMS ключ Microsoft Office имеет статус "Licensed". Для этого запустите на KMS сервере командную строку в режиме администратора.

  • Получение статуса серверного ключа для Office LTSC 2021 - cscript slmgr.vbs /dlv 47F3B983-7C53-4D45-ABC6-BCD91E2DD90A
  • Получение статуса серверного ключа для Office LTSC 2016 - cscript slmgr.vbs /dlv 98ebfe73-2084-4c97-932c-c0cd1643bea7
  • Получение статуса серверного ключа для Office LTSC 2019 - cscript slmgr.vbs /dlv 70512334-47B4-44DB-A233-BE5EA33B914C
  • Получение статуса серверного ключа для Office LTSC 2024 - cscript slmgr.vbs /dlv F3D89BBF-C0EC-47CE-A8FA-E5A5F97E447F

Как видно из скриншота ниже, продукт "Office 21, VOLUME_KMS channel" имеет статус "Licensed", а вот 2016 не найден

Name: Office 21, Office21KMSHost2021VL_KMS_Host edition
Description: Office 21, VOLUME_KMS channel
License Status: Licensed

Проверка статуса активации ключа для Microsoft Office

Но если ключ ранее был и уже не работает, статус будет "License Status: Unlicensed"

License Status Unlicensed

Как настроить клиентов Microsoft Office для активации на KMS сервере

Как и в случае с Windows, дистрибутив Microsoft Office должен быть корпоративного типа VLSC, но даже если у вас розничный, его легко можно будет превратить в нужный.

Чем отличается тип дистрибутива Volume от Retail я уже освещал, можете об этом подробнее почитать

Если в двух словах. то в специальном дистрибутиве предустановлен заранее общедоступный GVLK ключ лицензирования, который работает с KMS серверами. В моем примере, где я буду показывать процедуру активации офиса, в качестве дистрибутива будет Microsoft Office 2021 Pro Plus, который я ранее подготавливал с помощью технологии Click-to-Run (C2R).

Как я разбирал выше, если на клиентском компьютере установлен дистрибутив MS Office (Volume License), клиент автоматически пойдет на DNS сервер, чтобы найти там запись ведущую на KMS сервер, который в большинстве случаев опубликован в рамках домена. После чего будет произведена автоматическая активация продукта.

Но если по каким-то причинам вам необходимо произвести ручную настройку активации Microsoft Office или например поменять, адрес KMS сервера, то можно воспользоваться скриптом ospp.vbs.

ospp.vbs - Это скрипт помогающий использующийся для управления лицензиями Microsoft Office. Он обычно находится в папке установки Office и позволяет выполнять различные операции, связанные с активацией и деактивацией продуктов Office, а также управлением лицензиями. найти его можно по пути:

C:\Program Files\Microsoft Office\Office16

если быть более универсальным. то можно воспользоваться переменной %ProgramFiles%\Microsoft Office\Office16

Для 32-х битной версии Microsoft Office будет путь %Programfiles(x86)%\Microsoft Office\Office16

Месторасположение ospp.vbs

Запускаем командную строку в режиме администратора на клиенте, где установлен Microsoft Office. В моем примере, это 64-х битная версия Office 2021 pro Plus. В командной строке перейдите в каталог с файлом ospp.vbs.

cd C:\Program Files\Microsoft Office\Office16

Переход в папку с ospp.vbs

Для начала давайте посмотрим текущий статус активации Microsoft Office, для этого введите:

cscript ospp.vbs /dstatusall

Как видите в моем примере, офисный пакет активирован и в качестве KMS указан внешний сервер, работающий по порту 1688. Это я делал для проверки работы таких серверов, что есть в публичном доступе.

LICENSE DESCRIPTION: Office 21, VOLUME_KMSCLIENT channel
LICENSE STATUS: ---LICENSED---
REMAINING GRACE: 175 days (253282 minute(s) before expiring)
Last 5 characters of installed product key: 6F7TH
Activation Type Configuration: ALL
DNS auto-discovery: KMS name not available
KMS machine registry override defined: e8.us.to:1688
Activation Interval: 60 minutes
Renewal Interval: 129600 minutes
KMS host caching: Enabled

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

Теперь я хочу поменять адрес KMS сервера на доменный, для этого используем команду:

cscriptospp.vbs /sethst:kms02.root.pyatilistnik.org

Если KMS сервер работает на нестандартном порту, то выполните команду:

cscript ospp.vbs /setprt:1722

Об успешной смене адреса KMS сервера, будет сообщение "Successfully applied setting".

Смена адреса KMS сервера для активации Microsoft Office

Хочу отметить, что данная команда прописывает ключ реестра по пути HKLM\Software\Microsoft\OfficeSoftwareProtectionPlatform\KeyManagementServiceName REG_SZ

Теперь произведем ручную активацию вашего офисного пакета, для этого есть команда:

cscript ospp.vbs /act

Проверим, что теперь за активацию отвечает новый KMS сервер.

Ручная активация Microsoft Office

Обратите внимание, что офисный пакет активируется на 180 дней и будет пытаться продлевать лицензию каждые 7 дней (10080 минут).

Удаленная активация Microsoft Office на клиенте

В некоторых средах, где KMS сервер не публикуется в DNS зоне по ряду причин, можно указать его вручную на удаленных клиентах. Для этого вам необходимо в командной строке:

cscript ospp.vbs /act client01.root.pyatilistnik.org root\sem пароль

В качестве аргументов можно подставлять разные варианты, например удаленно проверить статус активации Microsoft Office.

cscript ospp.vbs /dstatusall term04.root.pyatilistnik.org

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

Я люблю иногда использовать PowerShell, приведу пример скрипта для проверки статуса активации на массе серверов.

# Указываем путь к файлу со списком серверов
$serverListPath = "C:\Temp\RDS\servers-term.txt"

# Считываем данный список серверов
$servers = Get-Content -Path $serverListPath

# Создаем массив для хранения результатов
$results = @()

# Для каждого сервера выполняем команду
foreach ($server in $servers) {
try {
# Выполняем команду на удаленном сервере, чтобы получить статус активации Microsoft Office
$output = Invoke-Command -ComputerName $server -ScriptBlock {
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /dstatus 2>&1
}

# Инициализируем переменные для хранения значений
$licenseDescription = ""
$licenseStatus = ""
$remainingGrace = ""

 # Получаем значения нужных полей
foreach ($line in $output) {
if ($line -match "LICENSE DESCRIPTION:s*(.+)") {
$licenseDescription = $matches[1].Trim()
}
elseif ($line -match "LICENSE STATUS:s*(.+)") {
$licenseStatus = $matches[1].Trim()
}
elseif ($line -match "REMAINING GRACE:s*(.+)") {
$remainingGrace = $matches[1].Trim()
}
}

# Добавляем результаты в массив
$results += [PSCustomObject]@{
ServerName = $server
LicenseDescription = $licenseDescription
LicenseStatus = $licenseStatus
RemainingGrace = $remainingGrace
}
}
catch {
Write-Host "Ошибка при подключении к серверу $server $_"
}
}

# Выводим наши результаты в табличном виде
$results | Format-Table -AutoSize

Массовое получение статуса активации Microsoft Office на удаленных серверах

Для добавления новых полей просто их дописываем, например значение KSM сервера, кто дал лицензию для Microsoft Office:

 # Получаем значения нужных полей
foreach ($line in $output) {
if ($line -match "LICENSE DESCRIPTION:s*(.+)") {
$licenseDescription = $matches[1].Trim()
}
elseif ($line -match "LICENSE STATUS:s*(.+)") {
$licenseStatus = $matches[1].Trim()
}
elseif ($line -match "REMAINING GRACE:s*(.+)") {
$remainingGrace = $matches[1].Trim()
}
elseif ($line -match "KMS machine name from DNS:s*(.+)") {
$kmsMachineName = $matches[1].Trim()
}
}

# Выводим полученные значения. шагом ранее
$results += [PSCustomObject]@{
ServerName = $server
LicenseDescription = $licenseDescription
LicenseStatus = $licenseStatus
RemainingGrace = $remainingGrace
KMSMachineName = $kmsMachineName
}
}

Чтобы удаленно вручную отправить команду активации на удаленных серверх, можно сделать так:

#Задаем путь к файлу со списком серверов
$serverListPath = "C:\Temp\RDS\servers-test.txt"

# Читаем данный файл
$servers = Get-Content -Path $serverListPath

# Пробегаемся по каждому серверу из файла
foreach ($server in $servers) {
try {
# Производим удаленную активацию Microsoft Office
Invoke-Command -ComputerName $server -ScriptBlock {
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /act
}
Write-Host "Команда успешно выполнена на сервере: $server"
} catch {
Write-Host "Ошибка при выполнении команды на сервере: $server"
Write-Host $_.Exception.Message
}
}

Поиск проблем при активации Microsoft Office с помощью KMS сервера

Абсолютно нормально, что при попытках активации у вас могут возникать различные проблемы разного характера, они могут быть как на стороне клиента, так и на стороне сервера KMS. Первое с чего всегда стоит начинать, это с изучения логов. За это отвечают события с ID 12288. Чтобы изучить данные события вам на клиенте, где установлен Microsoft Office нужно ввести команду:

cscript ospp.vbs /dhistorykms (Не забудьте, что вы должны быть в расположении с файлом ospp.vbs

В результате вы увидите историю активации, где могут быть нужные коды ошибок. Приведу пример из своей практики.

Event ID: 12288

Coordinated Universal Time Written: 16.05.2025 15:02:13
ERROR/HOST: Клиент отправил запрос на активацию компьютеру службы управления ключами.Сведения
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:0000000, 0

Coordinated Universal Time Written: 05.12.2025 10:48:32
ERROR/HOST: Клиент отправил запрос на активацию компьютеру службы управления ключами.Сведения
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:0020017, 0
---------------------------------------
Coordinated Universal Time Written: 05.12.2025 10:47:22
ERROR/HOST: Клиент отправил запрос на активацию компьютеру службы управления ключами.Сведения
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:004F041, 0

Просмотр истории активации Microsoft Office из события 12288

Не спешите переживать и думать, а что означают эти коды ошибок и что по ним делать, тут вам поможет сам скрипт ospp.vbs. Выполните команду:

cscript ospp.vbs /ddescr:код (Но обычно описание уже идет с кодом ошибки)

Пример из практики Error Code: 0xC004F038, вроде бы ошибка, но мы с ней уже сталкивались и понимаем, что тут просто на сервере KMS еще не хватает количества обращений.

Значение счетчика недостаточно

Ошибки активации Microsoft Office

LICENSE STATUS: ---OOB_GRACE--- ERROR CODE: 0x4004F00C. The Software Licensing Service reported that the application is running within the valid grace period.

Данная ошибка говорит, о проблемах статуса лицензирования данного продукта

0x40004F00C

Для просмотра логов по истории активации MAK ключей, можно использовать команду:

cscript OSPP.VBS /dhistoryacterr

dhistoryacterr

Чтобы посмотреть Client Machine ID (CMID) выполните:

cscript OSPP.VBS /dcmid

Просмотр Client Machine ID (CMID)

Для удаления имени KMS сервера выполните:

cscript OSPP.VBS /remhst

Как конвертировать Reatil версию Microsoft Office в Volume

Если вы хотите, чтобы коробочная версия офисного пакета, стала корпоративной редакции, которая активируется вашим KMS сервером, вам необходимо установить правильный GVLK ключ.

Список GVLK ключей для Microsoft Office я уже приводил, можно их подсмотреть. Предположим, что я хочу чтобы на клиенте Microsoft Office Pro Plus 2021 с MAK ключом, стал Volume. для этого вам необходимо удалить старый ключ, с помощью команды:

cscript OSPP.VBS /dstatus

тут берем 5 символов из вывода Last 5 characters of installed product key: 6F8TR

Далее выполняем команду:

cscript ospp.vbs /inpkey:6F8TR

После чего пишем команду с GVLK ключом взятым из таблицы:

cscript ospp.vbs /inpkey:FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH

После чего команда активации офиса:

cscript ospp.vbs /act

Оцените статью
Настройка серверов windows и linux
Добавить комментарий