Активация Microsoft Office KMS сервером
- Как работает KMS активация Microsoft Office
- Настройка KMS сервера для активации Office 2024/2021/2019/2016
- Скачивание пакета корпоративного лицензирования Microsoft Office
- Онлайн активация серверного KMS ключа для Microsoft Office
- Как проверить серверный KMS ключ для активации Microsoft Office
- Как настроить клиентов Microsoft Office для активации на KMS сервере
- Удаленная активация Microsoft Office на клиенте
- Поиск проблем при активации Microsoft Office с помощью KMS сервера
- Как конвертировать Reatil версию Microsoft Office в Volume
Всех приветствую вновь на страницах своего блога. Давно у меня не была закрыта данная тема относительно лицензирования Microsoft Office в рамках домена Active Directory. В сегодняшней публикации мы с вами поговорим о дополнительной настройке вашего KMS сервера, чтобы у него была возможность обрабатывать запросы активации офисных продуктов Microsoft, поговорим про устранение ошибок и проработает бытовые сценарии эксплуатации. Думаю, что будет интересно, да и мне в очередной раз уже надоело искать урывками информацию, по разным сайтам, помогу и себе.
Как работает KMS активация Microsoft Office
Прежде, чем мы с вами произведем необходимые настройки, я в крупную клетку вам напомню концепцию работы данного механизма активации продуктов Microsoft.
- Клиентские машины автоматически пытаются обнаружить KMS-сервер через DNS. Если все настроено правильно, они найдут его.
- Клиент отправляет запрос на активацию на KMS-сервер. Запрос включает информацию о версии Office и других параметрах.
- KMS-сервер проверяет, есть ли у него права для активации данного клиента. Для активации требуется минимум 25 активированных клиентов.
- Если все условия выполнены, KMS-сервер отправляет ответ с подтверждением активации клиенту.
- Клиент получает подтверждение активации и сохраняет эту информацию локально.
- Клиенты должны повторно активироваться каждые 180 дней. Они будут автоматически пытаться переактивироваться, используя тот же процесс.
Настройка 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 "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 всегда может закрыть ссылки или удалить более старые пакеты, поэтому я все скачиваю и храню в облаке и локально. Приведу тут ссылку на облачную папку с данными пакетами корпоративного лицензирования Microsoft Office -
Переходим на KMS сервер и копируем на него Microsoft Office Volume License Pack. Далее запустим его в режиме администратора. В моем случае это Office2021VolumeLicensePack_x64.exe.
Онлайн активация серверного KMS ключа для Microsoft Office
Принимаем лицензионное соглашение выставив галочку "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"
На первом шаге просто нажмите "Next". Далее у вас есть два варианта установки KMS ключа для продуктов MS Office:
- ADBA (Active Directory-Based Activation) - Это доменная интеграция
- Активация на KMS сервере - Тут все понятно, но нужно будет точечно указать.
Я выбираю вариант "Key Management Service (KMS)", с помощью кнопки "Browse" вам необходимо указать, на каком объекте компьютера находится служба (Лучше выбирать FQDN). После выбора нажать "Ok".
Нажимаем "Next". На следующем шаге мастера настройки вам предложат три варианта:
- Install your KMS host key - Тут вам необходимо будет вставить скопированный ранее из кабинета Microsoft 365 Admin Center код.
- Skip to Activation - пропустить активацию
- Skip to Configuration - пропустить настройку
Выбрав первый пункт (Install your KMS host key), начнется проверка вашего KMS ключа. Если с ним все в порядке, и он не заблокирован, то вы увидите какой продукт он может активировать и будут методы проверки единоразовой его активации. В моем случае я планирую проводить активацию Microsoft Office 2021, тут сразу видно это в поле продукта "Office 2021, VOLUME_KMS channel". Активировать серверный ключ я буду через интернет "Activate Online". Нажимаем "Commit".
Обратите внимание, что есть вариант и офлайн активации, с помощью телефона, подойдет для изолированных сред.
У вас появится окно с уточнением. будем ли мы активировать KMS хост, говорим "Yes"
This will activate the KMS host
Если все хорошо, то вы увидите список продуктов, которые поддерживает ваш KMS сервер, и тут должна появиться запись, о "Office 21, VOLUME_KMS_ channel" со статусом Licensed. Нажимаем кнопку "Next".
Заключительным этапом будет шаг мастера "Configure Key Management Service Options". тут вы можете задать настройки по какому порту будет работать KMS, публикацию в домене, создание DNS записи периоды повторной активации. Тут оставьте как есть, единственное если не добавлено исключение в брандмауэр и нет публикации в DNS сделайте это. Нажимаем "Commit"
Руками сделать исключение может помочь PowerShell - Enable-NetFirewallRule -Name SPPSVC-In-TCP
Произвести проверку доступности порта, можете посмотреть в данной статье.
У вас должно появиться окно, об успешной установке ключа активации Microsoft Office.
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
Но если ключ ранее был и уже не работает, статус будет "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
Запускаем командную строку в режиме администратора на клиенте, где установлен Microsoft Office. В моем примере, это 64-х битная версия Office 2021 pro Plus. В командной строке перейдите в каталог с файлом ospp.vbs.
cd C:\Program Files\Microsoft Office\Office16
Для начала давайте посмотрим текущий статус активации 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
Теперь я хочу поменять адрес KMS сервера на доменный, для этого используем команду:
cscriptospp.vbs /sethst:kms02.root.pyatilistnik.org
Если KMS сервер работает на нестандартном порту, то выполните команду:
cscript ospp.vbs /setprt:1722
Об успешной смене адреса KMS сервера, будет сообщение "Successfully applied setting".
Хочу отметить, что данная команда прописывает ключ реестра по пути HKLM\Software\Microsoft\OfficeSoftwareProtectionPlatform\KeyManagementServiceName REG_SZ
Теперь произведем ручную активацию вашего офисного пакета, для этого есть команда:
cscript ospp.vbs /act
Проверим, что теперь за активацию отвечает новый KMS сервер.
Обратите внимание, что офисный пакет активируется на 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
Я люблю иногда использовать 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
Для добавления новых полей просто их дописываем, например значение 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, 0Coordinated 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
Не спешите переживать и думать, а что означают эти коды ошибок и что по ним делать, тут вам поможет сам скрипт ospp.vbs. Выполните команду:
cscript ospp.vbs /ddescr:код (Но обычно описание уже идет с кодом ошибки)
Пример из практики Error Code: 0xC004F038, вроде бы ошибка, но мы с ней уже сталкивались и понимаем, что тут просто на сервере KMS еще не хватает количества обращений.
Значение счетчика недостаточно
LICENSE STATUS: ---OOB_GRACE--- ERROR CODE: 0x4004F00C. The Software Licensing Service reported that the application is running within the valid grace period.
Данная ошибка говорит, о проблемах статуса лицензирования данного продукта
Для просмотра логов по истории активации MAK ключей, можно использовать команду:
cscript OSPP.VBS /dhistoryacterr
Чтобы посмотреть Client Machine ID (CMID) выполните:
cscript OSPP.VBS /dcmid
Для удаления имени 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