Ошибка the rpc server is unavailable 0x800706ba на CA Active Directory
Добрый день! Уважаемые читатели и гости 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" выскочила на всех вкладках вот такая ошибка:
В логах Windows вы можете найти вот такие события:
Очень много было ошибок связанных с DCOM, в моем случае ID 10016.
{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 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 не найдена."
}
Убедитесь, что тут уесть все нужные контроллеры домена, у меня тут было пусто, поэтому я их сюда добавил. Для этого можно использовать простой скрипт, где у вас есть файл со списком имен контроллеров домена, каждое имя с новой строки и без пробелов:
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 нет участников."
}
Либо можно через оснастку 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" присутствуют группы "Компьютеры домена", "Контроллеры домена", "Пользователи домена".
Дополнительные ссылки
- 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/