Загрузка PXE не работает, так как самозаверяющий сертификат не создан

Эта статья поможет устранить проблему, из-за которой загрузка среды выполнения предварительной загрузки (PXE) не работает в Configuration Manager, если не был создан самозаверяющий сертификат.

Исходная версия продукта: Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (current branch)
Исходный номер базы знаний: 4469580

Симптомы

При попытке запустить компьютер с помощью PXE-загрузки с помощью Configuration Manager процесс загрузки PXE не работает.

При возникновении этой проблемы при запуске служб развертывания Windows (WDS) в журнале SMSPXE на точке распространения с поддержкой PXE (DP) регистрируется следующая запись об ошибке:

SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_ReportStatus; 0x80092002
Сбой SMSPXE PXE::CPolicyProvider::InitializePerformanceCounters; 0x80070002
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_LookupDevice; 0x80092002
ПоставщикУ PXE SMSPXE не удалось инициализировать подключение MP.
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_ReportStatus; 0x80092002
Сбой SMSPXE PXE::CPolicyProvider::InitializeMPConnection; 0x80092002

Кроме того, файл SMSPXE.log содержит следующие записи об ошибках при попытке запустить загрузку PXE:

SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_LookupDevice; 0x80092002
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_LookupDevice; 0x80092002
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_ReportStatus; 0x80092002
SMSPXE не удалось создать хранилище сертификатов из закодированного сертификата. Убедитесь, что предоставленный сертификат подготовлен правильно. .
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
ПоставщикУ PXE SMSPXE не удалось обработать сообщение.
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)
Сбой SMSPXE::MP_GetList; 0x80092002
Сбой SMSPXE::MP_ReportStatus; 0x80092002
ПоставщикУ PXE SMSPXE не удалось обработать сообщение.
Произошла ошибка во время операции кодирования или декодирования. (Ошибка: 80092002; Источник: Windows)

Если вы попытаетесь устранить проблему путем повторного создания самозаверяющего сертификата в свойствах DP путем изменения даты или времени самозаверяющего сертификата, сертификат не будет создан повторно.

Примечание.

Сертификаты для DP можно просмотреть в консоли Configuration Manager в разделеСертификатыбезопасности>администрирования>.

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

При возникновении этой проблемы файл CertMgr.log содержит следующие записи об ошибках:

SMS_CERTIFICATE_MANAGER ~Найден файл уведомления C:\Program Files\Microsoft Configuration Manager\inboxes\certmgr.box\5_<DP_FQDN>. CMN
SMS_CERTIFICATE_MANAGER успешно установлено сетевое подключение к \\<DP_FQDN>\ADMIN$.~
SMS_CERTIFICATE_MANAGER успешно установлено сетевое подключение к \\<DP_FQDN>\ADMIN$.~
SMS_CERTIFICATE_MANAGER Не удается получить копию раздела реестра безопасности на сервере (<DP_FQDN>) (0x80070005)
SMS_CERTIFICATE_MANAGER Не удалось получить копию раздела реестра безопасности на <сервере DP_FQDN> (0x80070005)
SMS_CERTIFICATE_MANAGER Отмена сетевого подключения к \\<DP_FQDN>\ADMIN$.
SMS_CERTIFICATE_MANAGER Отмена сетевого подключения к \\<DP_FQDN>\ADMIN$.

Причина

Эта проблема возникает, IssuingCertificateList если раздел реестра отсутствует в следующем подразделе реестра на DP:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Security

Примечание.

Значение раздела реестра также может отсутствовать в точке управления.

Разрешение

Чтобы устранить эту проблему, скопируйте IssuingCertificateList значение раздела реестра из следующего подраздела реестра в точке управления:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Security

Затем скопируйте это значение в тот же раздел реестра на DP. Для этого можно выполнить следующую команду в командной строке с повышенными привилегиями в DP:

REG.exe ADD "HKLM\SOFTWARE\Microsoft\SMS\Security" /v IssuingCertificateList /t REG_MULTI_SZ /d <Value_From_MP> /f

Примечание.

В этой команде замените <Value_From_MP> значением, полученным из точки управления (без угловых скобок).

Если значение раздела реестра также отсутствует в точке управления, откройте SQL Server Management Studio на первичном сайте, а затем выполните следующий запрос к базе данных первичного сайта:

SELECT SD.SiteCode, SC.ComponentName, SCP.Name, SCP.Value1, SCP.Value2, SCP.Value3 FROM SC_Component SC
JOIN SC_SiteDefinition SD ON SD.SiteNumber = SC.SiteNumber
JOIN SC_Component_Property SCP ON SCP.ComponentID = SC.ID
WHERE SCP.Name = 'IssuingCertificateList'

Важно!

Значение в столбце Value1 должно быть скопировано в реестр как в dp, так и в точке управления.

Скопируйте значение в столбце Value1 , а затем выполните следующую команду в командной строке с повышенными привилегиями как в dp, так и в точке управления:

REG.exe ADD "HKLM\SOFTWARE\Microsoft\SMS\Security" /v IssuingCertificateList /t REG_MULTI_SZ /d <Value_from_DB> /f

Примечание.

В этой команде замените <Value_from_DB> значением, скопированным из базы данных первичного сайта (без угловых скобок).

Может потребоваться проверка файл CertMgr.log, чтобы узнать, затронуты ли дополнительные DPS. Если это так, выполните REG.exe команду на дополнительных DPs.