Ошибка the rpc server is unavailable 0x800706ba на CA Active Directory

Обновлено 09.04.2024

CA logo

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik. В прошлый раз мы с вами успешно устранили ошибку "Не удается заархивировать закрытый ключ" при попытке выпуска сертификата от центра сертификации Active Directory. На днях мне потребовалось вновь обновить сертификат агента восстановления и я следовал описанной ранее инструкции, но после всех манипуляций и перезапуска CA он просто перестал работать, выдав мне везде ошибку "the rpc server is unavailable 0x800706ba". Давайте разбираться в чем дело и воскрешать работу данного сервиса.

Описание ошибки the rpc server is unavailable 0x800706ba

Немного приведу фактуры. Есть Active Directory на базе Windows Server 2022 с развернутым локальным центром сертификации, после перезапуска службы в оснастке "Manages Active Directory Certificate Services" выскочила на всех вкладках вот такая ошибка:

the rpc server is unavailable 0x800706ba (win32: 1722 rpc_s_server_unavailable)

the rpc server is unavailable 0x800706ba

В логах Windows вы можете найти вот такие события:

Could not connect to the Active Directory. Active Directory Certificate Services will retry when processing requires Active Directory access.

ID 91 Could not connect to the Active Directory. Active Directory Certificate Services will retry when processing requires Active Directory access.

Очень много было ошибок связанных с DCOM, в моем случае ID 10016.

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{D99E6E73-FC88-11D0-B498-00A0C90312F3}
and APPID
{D99E6E74-FC88-11D0-B498-00A0C90312F3}
to the user Pyatilistnik\sem SID (S-1-5-21-117609710-1396666666-725345543-16185) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

ID 10016 The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID

Прежде чем бросаться устранять ошибку с ID 10016, попробуйте описанные ниже методы.

Как устранить the rpc server is unavailable 0x800706ba при работе с центром сертификации Active Directory

Microsoft постоянно докручивает гайки в плане безопасности, поэтому первым делом вам нужно проверить права доступа ваших контроллеров домена до локальной группы "Certificate Service DCOM Access" сервера центра сертификации.

Группа Certificate Service DCOM Access в Windows предназначена для управления доступом к службам Certificate Authority (Центра сертификации) через DCOM (Distributed Component Object Model). Эта группа обеспечивает доступ к функциям и сервисам, связанным с управлением сертификатами и безопасностью в сетевой инфраструктуре Windows. Участники этой группы имеют право на выполнение операций, связанных с запросами на сертификаты, проверкой подлинности сертификатов и другими задачами, связанными с управлением цифровыми сертификатами.

Изучите текущий состав группы "Certificate Service DCOM Access". Для этого запустите PowerShell ISE в режиме администратора и выполните вот такой простой код:

$groupName = "Certificate Service DCOM Access"
$group = Get-LocalGroupMember -Group $groupName

if ($group) {
Write-Host "Участники группы $groupName"
foreach ($member in $group) {
Write-Host $member.Name
}
} else {
Write-Host "Группа $groupName не найдена."
}

Состав группы Certificate Service DCOM Access

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

Имена компьютеров должно быть в формате ROOT\c-10-5210$

ROOT - это имя домена и c-10-5210 имя учетной записи компьютера, $ - обозначение учетной записи компьютера AD

# Шаг 1: Получаем список имен компьютеров из файла
$computers = Get-Content -Path "C:\temp\servers.txt"

# Шаг 2: Добавляем компьютеры в локальную группу Certificate Service DCOM Access
$groupName = "Certificate Service DCOM Access"
foreach ($computer in $computers) {
$group = Get-LocalGroup -Name $groupName
if ($group) {
Add-LocalGroupMember -Group $groupName -Member $computer
Write-Host "Компьютер $computer добавлен в группу $groupName."
} else {
Write-Host "Группа $groupName не найдена."
}
}

# Шаг 3: Выводим состав группы Certificate Service DCOM Access
$groupMembers = Get-LocalGroupMember -Group $groupName
if ($groupMembers) {
Write-Host "Участники группы $groupName"
foreach ($member in $groupMembers) {
Write-Host $member.Name
}
} else {
Write-Host "В группе $groupName нет участников."
}

Добавить пользователя в Certificate Service DCOM Access

Либо можно через оснастку compmgmt.msc в графическом режиме.

compmgmt.msc добавить пользователя в группу

Если все сделано верно, то ваша CA сразу должна заработать и не выводить ошибку "the rpc server is unavailable 0x800706ba (win32: 1722 rpc_s_server_unavailable)".

Дополнительные методы

  • Ранее я уже много раз сталкивался с ошибками, когда сервер RPC недоступен, изучите их, там будет проверка портов и реестра
  • Если вы используете антивирусное решение, то изучите его логи, на время можно его полностью отключить, проверив гипотезу
  • Проверьте значение ключа реестра EnableDCOM, по пути HKEY_LOCAL_MACHINE\Software\Microsoft\OLE, оно должно быть "Y"
  • Удостоверьтесь, что в группе "Certificate Service DCOM Access" есть NT AUTHORITY\Authenticationd
  • Проверьте через ADUC, что в группе "Certificate Service DCOM Access" присутствуют группы "Компьютеры домена", "Контроллеры домена", "Пользователи домена".

Certificate Service DCOM Access в AD

Дополнительные ссылки

  • https://learn.microsoft.com/ru-ru/troubleshoot/windows-server/certificates-and-public-key-infrastructure-pki/error-0x800706ba-certificate-enrollment
  • https://vmblog.ru/ispravlyaem-oshibku-server-rpc-nedostupen-0x800706ba/
Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *