Ошибка 0x800706BA: сервер RPC недоступен в Windows

ошибка 0x800706ba rpc сервер недоступен keytrust24.store

Ошибка 0x800706BA с сообщением ‘Сервер RPC недоступен’ (The RPC Server is Unavailable) возникает при попытке удаленного управления, печати на сетевом принтере, запуске служб или обновлении Windows. RPC (Remote Procedure Call) — это фундаментальной службой Windows, от которой зависят десятки других компонентов. Разберем причины ошибки и способы ее устранения.

Главное:

  • Служба ‘Удаленный вызов процедур (RPC)’ должна быть запущена и иметь тип запуска ‘Автоматически’
  • Брандмауэр Windows может блокировать порты RPC (135, 137-139, 445), вызывая ошибку на удаленных компьютерах
  • Служба ‘Модуль подготовки сетевых ресурсов’ (RPC Endpoint Mapper) критически важна для работы RPC
  • Ошибка часто появляется после обновления Windows, когда службы сбрасываются на настройки по умолчанию

Что такое RPC и почему он важен

RPC (Remote Procedure Call) открывает путь к программам вызывать функции на другом компьютере или в другом процессе так, как будто они вызываются локально. Это фундаментальный механизм Windows, от которого зависят:

  • Windows Update: загрузка и установка обновлений
  • Печать на сетевых принтерах
  • Удаленное управление компьютером (Remote Desktop, WMI, PowerShell Remoting)
  • Работа служб (многие службы используют RPC для взаимодействия)
  • Групповая политика в доменной среде
  • Общий доступ к файлам и папкам

Код 0x800706BA означает, что клиент RPC не может связаться с сервером RPC. Это может быть локальная служба на том же компьютере или служба на удаленной машине в сети.

Ошибка проявляется по-разному в зависимости от контекста: при печати появляется сообщение о недоступности принтера, при обновлении Windows показывается код 0x800706BA, при удаленном управлении отклоняется подключение. Подробнее о решении проблем с обновлениями читайте в статье об управлении обновлениями.

Решение 1: проверить и запустить службы RPC

Три службы критически важны для работы RPC. Все три должны быть запущены.

Проверка через PowerShell:

Get-Service RpcSs,RpcEptMapper,DcomLaunch | Format-Table Name,DisplayName,Status,StartType

Ожидаемый результат:

СлужбаОписаниеСтатусТип запуска
RpcSsУдаленный вызов процедур (RPC)RunningAutomatic
RpcEptMapperСопоставитель конечных точек RPCRunningAutomatic
DcomLaunchСредство запуска процессов DCOMRunningAutomatic

Если какая-то служба остановлена или отключена:

Set-Service RpcSs -StartupType Automatic
Start-Service RpcSs
Set-Service RpcEptMapper -StartupType Automatic
Start-Service RpcEptMapper
Set-Service DcomLaunch -StartupType Automatic
Start-Service DcomLaunch

Если служба не запускается с ошибкой «Отказано в доступе», проверьте разрешения через реестр. Откройте regedit и перейдите к HKLMSYSTEMCurrentControlSetServicesRpcSs. Значение «Start» должно быть 2 (Автоматически). Если значение 4 (Отключено), измените на 2 и перезагрузите.

Решение 2: настроить брандмауэр для RPC

Если ошибка возникает при обращении к удаленному компьютеру, брандмауэр может блокировать порты RPC.

Порты, используемые RPC:

ПортПротоколНазначение
135TCPRPC Endpoint Mapper
137-139TCP/UDPNetBIOS (для разрешения имен)
445TCPSMB (общий доступ к файлам)
49152-65535TCPДинамические порты RPC

Разрешить RPC через брандмауэр Windows:

netsh advfirewall firewall set rule group="Удаленное управление рабочим столом" new enable=yes
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes

Или создайте правило вручную для порта 135:

netsh advfirewall firewall add rule name="RPC Endpoint Mapper" dir=in action=allow protocol=TCP localport=135
netsh advfirewall firewall add rule name="RPC Dynamic Ports" dir=in action=allow protocol=TCP localport=49152-65535

На удаленном компьютере также должны быть открыты эти порты. Проверьте доступность порта 135:

Test-NetConnection -ComputerName ИМЯ_КОМПЬЮТЕРА -Port 135

Если TcpTestSucceeded показывает False, порт заблокирован брандмауэром или сетевым оборудованием.

Решение 3: проверить сетевое подключение и DNS

RPC использует имена компьютеров для установки соединения. Если DNS не может разрешить имя удаленного компьютера, RPC не работает.

Проверьте разрешение имени:

nslookup ИМЯ_КОМПЬЮТЕРА
ping ИМЯ_КОМПЬЮТЕРА

Если nslookup не может разрешить имя, добавьте запись в файл hosts:

notepad C:WindowsSystem32driversetchosts

Добавьте строку: 192.168.1.100 ИМЯ_КОМПЬЮТЕРА (замените IP и имя на реальные).

Проверьте сетевое подключение:

ipconfig /all

Убедитесь, что:

  • IP-адрес назначен (не APIPA 169.254.x.x)
  • Шлюз по умолчанию доступен
  • DNS-серверы указаны корректно
  • Оба компьютера в одной подсети или маршрутизация настроена

Сбросьте сетевые настройки, если подключение нестабильно:

ipconfig /flushdns
netsh winsock reset
netsh int ip reset

После сброса Winsock перезагрузите компьютер.

Решение 4: исправить реестр для RPC

Некоторые оптимизаторы системы и антивирусы изменяют параметры реестра, связанные с RPC. Проверьте и восстановите стандартные значения.

Проверьте настройки RPC в реестре:

reg query "HKLMSOFTWAREMicrosoftRpc"
reg query "HKLMSYSTEMCurrentControlSetServicesRpcSs"

Стандартные значения для службы RpcSs:

reg add "HKLMSYSTEMCurrentControlSetServicesRpcSs" /v "Start" /t REG_DWORD /d 2 /f
reg add "HKLMSYSTEMCurrentControlSetServicesRpcSs" /v "ObjectName" /t REG_SZ /d "NT AUTHORITYNetworkService" /f

Для службы RpcEptMapper:

reg add "HKLMSYSTEMCurrentControlSetServicesRpcEptMapper" /v "Start" /t REG_DWORD /d 2 /f

Для службы DcomLaunch:

reg add "HKLMSYSTEMCurrentControlSetServicesDcomLaunch" /v "Start" /t REG_DWORD /d 2 /f

После изменения реестра перезагрузите компьютер. Если изменения не помогли, проверьте системные файлы:

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

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

Решение 5: исправить ошибку RPC при печати

Ошибка 0x800706BA при печати означает, что компьютер не может связаться с сервером печати или локальная служба диспетчера печати не работает.

Проверьте службу диспетчера печати:

Get-Service Spooler | Format-Table Name,Status,StartType

Если служба остановлена, запустите ее:

Start-Service Spooler
Set-Service Spooler -StartupType Automatic

Очистите очередь печати:

Stop-Service Spooler
Remove-Item -Path "C:WindowsSystem32spoolPRINTERS*" -Force
Start-Service Spooler

Для сетевого принтера проверьте:

  • Компьютер, к которому подключен принтер, включен и доступен в сети
  • На сервере печати запущена служба Spooler
  • Общий доступ к принтеру включен
  • Брандмауэр на сервере разрешает входящие подключения на порт 135 и 445

Переустановите драйвер принтера:

  1. Откройте «Параметры» и перейдите в «Bluetooth и устройства» и затем «Принтеры и сканеры»
  2. Удалите проблемный принтер
  3. Нажмите «Добавить устройство» для повторной установки

Решение 6: исправить ошибку RPC в Windows Update

Если ошибка 0x800706BA появляется при обновлении Windows, службы обновления не могут связаться с компонентами RPC.

Полный сброс компонентов Windows Update с проверкой RPC:

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
net stop RpcSs
net start RpcSs
net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Перерегистрируйте DLL-файлы Windows Update:

regsvr32 /s wuapi.dll
regsvr32 /s wuaueng.dll
regsvr32 /s wucltux.dll
regsvr32 /s wups.dll
regsvr32 /s wups2.dll
regsvr32 /s wuweb.dll
regsvr32 /s atl.dll
regsvr32 /s urlmon.dll
regsvr32 /s mshtml.dll

Если ошибка сохраняется, скачайте обновление вручную из каталога обновлений Microsoft и установите его offline.

В крайнем случае используйте сбросе Windows с сохранением файлов для восстановления всех компонентов системы.

Диагностика RPC в корпоративной среде

В доменной среде ошибка RPC часто связана с групповыми политиками, доменными контроллерами или сегментацией сети.

Проверьте подключение к контроллеру домена:

nltest /dsgetdc:ИМЯ_ДОМЕНА
dcdiag /s:ИМЯ_КОНТРОЛЛЕРА

Проверьте репликацию Active Directory (с контроллера домена):

repadmin /showrepl
repadmin /replsum

Типичные проблемы в корпоративной среде:

  • Файервол между подсетями блокирует динамические порты RPC
  • Рассинхронизация времени между компьютером и контроллером домена (допуск 5 минут)
  • Групповая политика ограничивает входящие подключения RPC
  • DNS-запись компьютера устарела или указывает на неправильный IP

Для ограничения динамических портов RPC (облегчает настройку файервола) добавьте в реестр на обоих компьютерах:

reg add "HKLMSOFTWAREMicrosoftRpcInternet" /v "Ports" /t REG_MULTI_SZ /d "5000-5100" /f
reg add "HKLMSOFTWAREMicrosoftRpcInternet" /v "PortsInternetAvailable" /t REG_SZ /d "Y" /f
reg add "HKLMSOFTWAREMicrosoftRpcInternet" /v "UseInternetPorts" /t REG_SZ /d "Y" /f

Это ограничит диапазон динамических портов RPC до 5000-5100, что упрощает настройку правил файервола. Подробнее в документации Microsoft.

Проверенные конфигурации

  • Windows 11 23H2 + отключенная служба RpcSs оптимизатором: включение службы и перезагрузка решили проблему
  • Windows 10 22H2 + Kaspersky: добавление порта 135 в исключения файервола антивируса устранило ошибку при печати
  • Windows Server 2022 + корпоративный файервол: ограничение динамических портов RPC диапазоном 5000-5100 и открытие этих портов на файерволе решило проблему

Полезные ссылки и материалы

Для решения задач, описанных в этой статье, могут пригодиться:

Официальная документация: Microsoft Learn: управление Windows.

Часто задаваемые вопросы

Ошибка 0x800706BA появляется при каждой загрузке Windows. Как исправить навсегда?

Проверьте тип запуска служб RpcSs, RpcEptMapper и DcomLaunch. Все три должны быть ‘Автоматически’. Также удалите сторонние оптимизаторы, которые могли отключить эти службы.

Можно ли отключить RPC для безопасности?

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

Ошибка RPC появляется только при подключении к определенному компьютеру. Что делать?

Проверьте брандмауэр и службы RPC на том компьютере. Убедитесь, что оба компьютера видят друг друга по имени (nslookup). Проверьте, что порт 135 открыт на удаленном компьютере.

0x800706BA и 0x800706BE: в чем разница?

0x800706BA означает ‘Сервер RPC недоступен’ (проблема подключения). 0x800706BE означает ‘Удаленный вызов процедур завершился с ошибкой’ (сервер доступен, но не смог выполнить запрос). Причины и решения различаются.

Частые вопросы

Ошибка 0x800706BA появляется при каждой загрузке Windows. Как исправить навсегда?

Проверьте тип запуска служб RpcSs, RpcEptMapper и DcomLaunch. Все три должны быть 'Автоматически'. Также удалите сторонние оптимизаторы, которые могли отключить эти службы.

Можно ли отключить RPC для безопасности?

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

Ошибка RPC появляется только при подключении к определенному компьютеру. Что делать?

Проверьте брандмауэр и службы RPC на том компьютере. Убедитесь, что оба компьютера видят друг друга по имени (nslookup). Проверьте, что порт 135 открыт на удаленном компьютере.

0x800706BA и 0x800706BE: в чем разница?

0x800706BA означает 'Сервер RPC недоступен' (проблема подключения). 0x800706BE означает 'Удаленный вызов процедур завершился с ошибкой' (сервер доступен, но не смог выполнить запрос). Причины и решения различаются.