Ошибка активации 0xC004C003, решаем за минуту

0xC004C003Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik. В минувшей статье мы с вами разбирали удаление устаревших профилей на RDS ферме, чтобы держать все в чистоте. Идем дальше и сегодня разберем, как устраняется ошибка активации Windows с кодом 0xC004C003: The activation server determined the specified product key is blocked. Давайте разбираться в чем дело и как это исправить.

Описание ошибки 0xC004C003

Зайдя на один из серверов с Windows Server 2022, я обратил внимание, что в правом углу было сообщение, об ошибке активации.

Activate Windows: Go to Settings to activate Windows

Activate Windows: Go to Settings to activate Windows

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

slmgr -ato

В результате выскочила ошибка:

0xC004C003: The activation server determined the specified product key is blocked (Сервер активации определил, что указанный ключ продукта заблокирован)

The activation server determined the specified product key is blocked

Далее можно выполнить еще команду:

slmgr /dli

Тут она показала мне знакомую ошибку 0xC004F034, с которой ранее встречался.

0xC004F034

Если открыть логи Windows. то там можно обнаружить вот такие события после попытки активации вручную.

ID 8200: License acquisition failure details. hr=0xC004C003

ID 8200 0xC004F034

ID 1014: Acquisition of End User License failed. hr=0xC004C003 Sku Id=1ea11e95-b7b5-49f8-b3b8-164805630e84

Acquisition of End User License failed

Причины ошибки 0xC004C003

  1. Код ошибки 0xC004C003 обычно означает, что ключ MAK, который вы пытаетесь использовать, заблокирован корпорацией Microsoft. То есть ваш ключ MAK достиг предела количества раз. Чтобы решить эту проблему, вам потребуется получить новый ключ MAK.
  2. Проблемы с подключением к KMS серверу: Если ваше устройство не может подключиться к интернету или KMS серверу для проверки ключа, это также может привести к ошибке активации.
  3. В некоторых случаях на рабочих станциях, изменения в аппаратном обеспечении, может на это повлиять. Если вы вносили изменения в аппаратное обеспечение вашего компьютера (например, заменили материнскую плату), это может вызвать проблемы с активацией.
  4. Проблемы с сервером активации: Иногда проблемы на стороне Microsoft или вашего KMS сервера могут привести к ошибкам активации.

Как исправить ошибку активации 0xC004C003

Первое, что вы должны сделать в ситуации когда видите сообщение "Сервер активации определил, что указанный ключ продукта заблокирован", это удалить текущий MAK ключ и заменить его актуальным GVLK ключом.

GVLK (Generic Volume License Key) — это универсальный ключ для активации продуктов Microsoft, таких как Windows и Office, в рамках программ корпоративного лицензирования. Эти ключи используются организациями для активации большого количества установок программного обеспечения без необходимости вводить уникальный ключ для каждой копии.

В командной строке под режимом администратора удалим текущий ключ, для этого выполните:

Удаление GVLK ключа

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

Список GVLK ключей

Так как в данном примере я усраняю ошибку 0xC004C003 на Windows Server 2022, то ук меня команда будет с таким ключом:

slmgr /ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H

Активаиция Windows Server 2022

Как видим, ключ добавился без проблем, остается проверить статус активации через команду:

slmgr -ato

В этот раз результат показывает "Product activated successfully"

Product activated successfully

Возможные проблемы

  1. Вы можете получить в момент активации ошибку 0xC004F038
  2. Вы можете получить в момент активации ошибку 0xC004F074
  3. Проверьте список ваших KMS серверов командой nslookup -q=SRV _VLMCS._TCP.root.pyatilistnik.org и проверьте доступность порта.

Как можно мониторить появление ошибки 0xC004C003

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

Get-WmiObject -Class SoftwareLicensingProduct | Where-Object { $_.PartialProductKey } | Select-Object -Property Name, LicenseStatus, Description

тут нас интересует значение столбца LicenseStatus. В нормальном состоянии его значение должно быть "1".

LicenseStatus

Если у вас ошибка "0xC004C003: The activation server determined the specified product key is blocked", то в поле LicenseStatus будет значение "5".

LicenseStatus 0xC004C003

Можно массово запросить статус на всех хостах если у вас есть SCCM и Active Directory. Как создавать скрипт PowerShell и запускать его через SCCM я рассказывал. Просто повторите это, в результате у вас будет вот такой вывод.

Проверка статуса лицензирования через SCCM

так же в SCCM есть встроенные отчеты "Компьютеры с указанным состояние лицензирования", в разделе "Monitoring - Reports - Asset intelligement". Выбираем там коллекцию, тип системы и что ищем те, где статус не лицензировано. После чего нажимаем "View Report".

SCCM отчет компьютеры с указанным состояние лицензирования

Если выбрать статус "Лицензировано", то вы увидите сколько дней до обновления активации.

Статус активации систем через SCCM

Как через PowerShell массово проверить статус активации систем

Теперь сделаем то же самое с помощью PowerShell, запустите ISE от имени администратора и выполните скрипт, главное замените путь к файлу со списком серверов:

# Загрузка списка серверов из файла
$servers = Get-Content -Path "C:\Temp\RDS\servers.txt"

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

# Перебор каждого сервера
foreach ($server in $servers) {
try {
# Получение информации о лицензиях
$licenses = Get-WmiObject -Class SoftwareLicensingProduct -ComputerName $server | Where-Object { $_.PartialProductKey }

# Проверка, есть ли лицензии на сервере
if ($licenses) {
# Получение статусов лицензий
$licenseStatuses = $licenses | Select-Object -ExpandProperty LicenseStatus -Unique

# Создание записи для сервера с перечислением всех уникальных статусов лицензий
$results += [PSCustomObject]@{
ServerName = $server
LicenseStatus = ($licenseStatuses -join ', ')
}
} else {
# Если лицензий нет, добавляем запись с соответствующим сообщением
$results += [PSCustomObject]@{
ServerName = $server
LicenseStatus = 'Нет активных лицензий'
}
}
} catch {
Write-Host "Не удалось получить данные с сервера $server $_"
}
}

# Вывод результатов
$results | Format-Table -AutoSize

Как через PowerShell массово проверить статус активации систем

На этом я считаю, что статью можно заканчивать. Мы с вами разобрали методы устранения ошибки "0xC004C003: Сервер активации определил, что указанный ключ продукта заблокирован". С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

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