Сервер rpc недоступен windows server 2019

как устранять ошибку "Сервер RPC недоступен (The rpc server is unavailable)", покажу примеры, когда ее мониторинг очень важен в работе корпоративных сервисов

Обновлено 15.02.2022

the rpc server is unavailable

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали замечательную утилиту командной строки robocopy, и с ее помощью научились создавать точные копии папок, двигать их в нужное расположение и многое другое. В сегодняшней публикации я покажу вам, как устранять ошибку «Сервер RPC недоступен (The rpc server is unavailable)», покажу примеры, когда ее мониторинг очень важен в работе корпоративных сервисов.

Для чего нужна служба «Удаленный вызов процедур (RPC)»

Удаленный вызов процедур (RPC) — это  протокол,  который одна программа может использовать для запроса услуги у программы, расположенной на другом компьютере в сети, без необходимости разбираться в деталях сети. RPC используется для вызова других процессов на удаленных системах, таких как локальная система. Вызов процедуры также иногда называют вызовом функции или вызовом подпрограммы .

RPC использует модель  клиент-сервер. Запрашивающая программа — это клиент, а программа, предоставляющая услуги, — это сервер. Подобно обычному или локальному вызову процедуры, RPC — это  синхронная операция, требующая приостановки запрашивающей программы до тех пор, пока не будут возвращены результаты удаленной процедуры. Однако использование облегченных процессов или потоков, которые совместно используют одно и то же адресное пространство, позволяет одновременно выполнять несколько RPC.

Язык определения интерфейса (IDL) — язык спецификации, используемый для описания интерфейса прикладного программирования (API) программного компонента — обычно используется в программном обеспечении удаленного вызова процедур. В этом случае IDL обеспечивает мост между машинами на обоих концах связи, которые могут использовать разные операционные системы (ОС) и компьютерные языки.

Процедура сообщения RPC

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

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

Данная служба есть в любой операционной системе Windows, начиная от Windows 7 и заканчивая Windows 11 и в любой из Windows Server редакции.

Как работает RPC?

Когда вызывается служба RPC (удаленный вызов процедуры), вызывающая среда приостанавливается, параметры процедуры передаются по сети в среду, в которой должна выполняться процедура, а затем процедура выполняется в этой среде. Когда процедура завершается, результаты передаются обратно в вызывающую среду, где выполнение возобновляется, как если бы оно возвращалось из обычного вызова процедуры.

Во время RPC выполняются следующие шаги:

  1. Клиент вызывает клиентскую заглушку. Вызов представляет собой вызов локальной процедуры с параметрами, помещенными в стек обычным способом.
  2. Клиентская заглушка упаковывает параметры процедуры в сообщение и выполняет системный вызов для отправки сообщения. Упаковка параметров процедуры называется маршалингом.
  3. Локальная ОС клиента отправляет сообщение с клиентского компьютера на удаленный сервер.
  4. Серверная ОС передает входящие пакеты на серверную заглушку.
  5. Заглушка сервера распаковывает параметры из сообщения — это называется демаршалингом .
  6. Когда серверная процедура завершается, она возвращается к серверной заглушке, которая маршалирует возвращаемые значения в сообщение. Затем заглушка сервера передает сообщение на транспортный уровень.
  7. Транспортный уровень отправляет полученное сообщение обратно на клиентский транспортный уровень, который возвращает сообщение клиентской заглушке.
  8. Клиентская заглушка не упорядочивает возвращаемые параметры, и выполнение возвращается вызывающей стороне.

Клиент RPC по 135 порту подключается к службе RPC Endpoint Mapper (сопоставления конечных точек), а далее уже запрашивает номер порта, где запущено нужное RPC приложение. Служба сопоставления конечных точек вернет клиенту RPC номер динамического RPC порта (диапазон 1024 – 65535), на котором работает нужная служба. Дальше уже все взаимодействие идет по TCP порту

Если вы видите ошибку «Сервер RPC недоступен” (The RPC server is unavailable)», то у вас точно недоступен порт 135. Это может быть критичным для ряда ситуации. Например вы не сможете сохранить настройки RDS фермы, если у одного из хостов RDSH есть проблемы с RPC, то вы будите видеть ошибку «Could not change the connection state for server», вы не сможете перевести его в режим обслуживания (Drain Mode)

Could not change the connection state for server

Или в приложении Terminal Services Manager будет ошибка при попытке получения данных «Сервер RPC недоступен«.

Сервер RPC недоступен

Так же RPC может быть причиной проблемы в репликации контроллеров домена, где в логах Windows будет фигурировать ошибка ID 1722. Это очень не приятный момент, который может привести к большим проблемам.

Типы RPC

Существует пять типов RPC:

  1. Обычный метод работы, при котором клиент выполняет вызов и не продолжает работу до тех пор, пока сервер не вернет ответ.
  2. Клиент звонит и продолжает свою обработку. Сервер не отвечает.
  3. Средство для отправки нескольких клиентских неблокирующих вызовов в одном пакете.
  4. У клиентов RPC есть средство широковещательной рассылки, т. е. Они могут отправлять сообщения на множество серверов, а затем получать все полученные ответы.
  5. Клиент делает неблокирующий вызов клиент/сервер; сервер сигнализирует о завершении вызова путем вызова процедуры, связанной с клиентом.

Почему может не работать служба RPC

  1. Удаленный компьютер с которым идет взаимодействие выключен
  2. На удаленном сервере не запущена или перестала работать служба RPC
  3. Подключение по RPC происходит не к тому серверу (Может быть проблема с DNS или IP адресом)
  4. Есть блокировки между клиентом и сервером на фаэрволе
  5. Используются некорректные настройки сетевого подключение на клиенте или сервере

Преимущества удаленного вызова процедур

К преимуществам удаленного вызова процедур можно отнести следующее:

  • помогает клиентам общаться с серверами посредством традиционного использования вызовов процедур на языках высокого уровня;
  • может использоваться как в распределенной, так и в локальной среде;
  • поддерживает процессно-ориентированные и поточно-ориентированные модели;
  • скрывает внутренний механизм передачи сообщений от пользователя;
  • требует минимальных усилий для переписывания и повторной разработки кода;
  • обеспечивает абстракцию, т. е. характер передачи сообщений по сети скрыт от пользователя;
  • опускает многие уровни протокола для повышения производительности.

Недостатки RPC

Некоторые из недостатков RPC включают следующее:

  • Клиент и сервер используют разные среды выполнения для своих соответствующих подпрограмм, и использование ресурсов, например файлов, также является более сложным. Следовательно, системы RPC не подходят для передачи больших объемов данных.
  • RPC очень уязвим для сбоев, потому что он включает в себя систему связи, другую машину и другой процесс.
  • Единого стандарта для RPC не существует; это может быть реализовано множеством способов.
  • RPC основан только на взаимодействии и, как таковой, не предлагает гибкости, когда дело касается аппаратной архитектуры.

Проверка доступности службы RPC

  • Как я и писал выше, в первую очередь вы должны убедиться, что удаленный компьютер к которому вы делаете проверку RPC доступен по сети. Для этого элементарно откройте командную строку или оболочку PowerShell и воспользуйтесь командой Ping, NSlookup, Test-NetConnection. Я буду производить проверку службы удаленного вызова в PowerShell. Выполним для начала команду Ping. Мой удаленный сервер называется SVT201S01.root.pyatilistnik.org. Пишем команду:

ping SVT201S01.root.pyatilistnik.org

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

  • Далее выполните Nslookup, чтобы удостовериться, что нужное вам имя компьютера преобразовывается в нужный IP-адрес. Выполните:

nslookup SVT201S01.root.pyatilistnik.org

Небольшой пример из практики, предположим, что вы мигрировали сервер в другую подсеть, в итоге в DNS должна быть изменена соответствующая запись, но Windows это поймет не сразу, так как у нее есть свой локальный кэш, он живет 15 минут, поэтому если при проверке DNS имени вам выдается не тот IP-адрес, вам необходимо произвести очистку кэша DNS.

Проверка доступности службы RPC через nslookup

  • Далее я вам советую проверить отвечает ли порт. Напоминаю, что служба RPC Endpoint Mapper слушает порт под номером 135. В PowerShell введите команду:

Test-NetConnection svt2019s01.root.pyatilistnik.org -Port 135

Если удаленный RPC порт доступен вы в в строке TcpTestSucceeded будет стоять статус «True».

Проверка доступности службы RPC через Test-NetConnection

Если будет порт закрыт или блокируется, то ошибка «Сервер RPC недоступен (The rpc server is unavailable)» вам обеспечена. Поняв, что порт не отвечает, нужно удостовериться, что трафик от клиента до сервера не блокирует фаервол. По умолчанию в любой версии Windows есть встроенный брандмауэр. На время тестирования и поиска причины, я советую его выключить для всех профилей. Сделаем мы это через командную строку:

Netsh Advfirewall set allprofiles state off

Данная команда выключит брандмауэр на всех трех профилях сетевой карты.

Отключение брандмауэра Windows через командную строку

Далее если порт 135 стал доступен, то можно делать правила на удаленном сервере. Напоминаю, что нужно сделать правило для трех служб:

  1. Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
  2. RPC Endpoint Mapper — Сопоставитель конечных точек RPC
  3. COM Server Process Launcher — Модуль запуска процессов DCOM-сервера

Подробнее, о том как сделать правила — https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/create-inbound-rules-to-support-rpc)

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

Проверка работы служб RPC

Следующим шагом является проверка состояния службы на нужном вам сервере или компьютере. Проверять следует три службы:

  1. Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
  2. RPC Endpoint Mapper — Сопоставитель конечных точек RPC
  3. COM Server Process Launcher — Модуль запуска процессов DCOM-сервера

В оболочке PowerShell выполните команду:

Для локального сервера — Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType

Для удаленного выполнения Enter-PSSession svt2019s01 далее Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType

Напоминаю, что в команде svt2019s01, это имя удаленного сервера. Как видно из примера, все службы RPC запущены и имею автоматический тип запуска.

Проверка состояния служб RPC

Если службы не запущены, то откройте оснастку «services.msc’, зайдите в свойства службы и выставите автозапуск и попробуйте запустить вручную.

services.msc

Если по каким, то причинам вы не можете запустить службу из оснастки, то можно это сделать через реестр (Кстати реестр можно править и удаленно). Для этого есть несколько веток, но для начала откройте окно «Выполнить» и введите regedit.

Запуск реестра Windows

  • Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch
  • Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
  • Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs

В каждом из этих расположений есть ключик «Start«, выставите ему значение «2«, это будет означать автоматический запуск службы.

Управление автозапуском службы через реестр

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

В некоторых случаях причиной ошибок с доступностью RPC выступает сбой на сетевых адаптерах. Помогает сброс сетевых настроек и перезагрузка. В сети с Active Directory, старайтесь, чтобы на всех ваших сетевых адаптерах в свойствах были выставлены обе галки IPV4 и IPV6, особенно это актуально для контроллеров домена, где вы легко можете получать ошибку 1722. Еще может помочь отключение протокола Teredo у IPv6. В командной строке выполните:

netsh interface teredo set state disabled

Для включения обратно введите:

netsh interface teredo set state enabled

Еще на сайте Майкрософт пишут, что необходимо на сервере RPC иметь включенную службу «Удаленный реестр«. На этом у меня все, с вами был Иван Сёмин, автор и создатель IP портала Pyatilistnik.org.

Ошибка “
Сервер RPC недоступен
” (
The RPC server is unavailable
) появляется в Windows при ошибке коммуникации между двумя компьютерами по сети, когда компьютер (клиент RPC) не может подключиться к удаленному компьютеру (сервер RPC). В результате программа, которую вы запустили, не работает и возвращает ошибку, т.к. не можете получить данные с удаленного сервера. В этой статье мы разберем наиболее частые проблемы, которые могут препятствовать нормальному взаимодействию компьютеров через сеть по протоколу RPC.

ошибка Сервер RPC недоступен в Windows

Протокол RPC (Remote Process Call, удаленный вызов процедур) – это распространённый протокол взаимодействия приложений в локальной сети. В основном он используется для обмена данными с удалённым компьютерам, но есть некоторые программы, которые используют RPC для локальных взаимодействий между приложением и запущенной локально службой.

В типовом сеансе клиент RPC подключается к службе RPC Endpoint Mapper (сопоставления конечных точек) на RPC сервере по TCP порту 135 и запрашивает номер порта, на котором запущено нужное ему RPC приложение (служба). Служба RPC Endpoint Mapper возвращает клиенту номер динамического RPC порта, назначенного указанной службе при запуске. Затем RPC клиент взаимодействует с RPC службой по указанному TCP порту.

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

The RPC server is unavailable

В современных версиях Windows (начиная с Windows Vista/2008) используется следующий диапазон динамических RPC портов (Dynamic RPC Port range): 49152 — 65535 (в Windows Server 2003 / XP и ниже использовался другой диапазон 1024 – 65535.

Наиболее распространённые проблемы, из-за которых не работает RPC взаимодействие между компьютерами:

  1. Удаленный компьютер выключен;
  2. Не запущены службы RPC на сервере;
  3. Вы пытаетесь подключиться к RPC серверу по неправильному имени (или как вариант, DNS имени сервера соответствует неверный IP адрес);
  4. Используются некорректные настройки сетевого подключение на клиенте или сервере;
  5. RPC трафик между клиентом и сервером блокируется файерволом;

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

Убедитесь, что удаленный компьютер включен, отвечает на ping по имени и IP адресу. Если RPC сервер не доступен по имени, проверьте корректность DNS записей и попробуйте сбросить DNS кэш на клиенте:
ipconfig /flushdns
.

Если имя компьютера, на котором запущен RPC-сервер недавно изменилось, попробуйте перерегистрировать его в DNS Active Directory:
ipconfig /registerdns

Проверка служб RPC

Проверьте, что на сервере запущены службы, которые необходимы для обработки входящих RPC подключений:

  1. Откройте консоль управления службами (services.msc);
  2. Убедитесь, что следующие службы запущены (статус Running), а тип их запуска – автоматический: Remote Procedure Call (RPC), RPC Endpoint Mapper и DCOM Server Process Launcher;проверить, что службы RCP запущены в Windows

Если RPC службы отключены и не запускаются, попробуйте активировать их через реестр. Найдите ветки этих служб в реестре и измените значение параметра Start на 2 (автоматический запуск службы):

  • Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
  • Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
  • Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch

включить службы RpcSs в реестре

RPC блокируется файерволом (брандмауэром)

Убедитесь, что RPC трафик между компьютерами не блокируется файеволом. Если у вас используется Windows Defender Firewall with Advanced Security, нужно проверить или создать правила, разрешающие RPC трафик. Одно правило, разрешающее доступ к службе RPC Endpoint Mapper по порту TCP/135; второе должно разрешать доступ к RPC службе, которая вам нужна по динамическим RPC портам (RPC Dynamic Ports). Правила нужно создать для всех трех сетевых профилей: Domain, Private и Public.

Проверьте с клиента, что на RPC сервере доступен 135 порт TCP (должен слушаться службой RPC Endpoint Mapper). Можно проверить доступность порта из PowerShell:

Test-NetConnection 192.168.1.201 -port 135

Test-NetConnection powershell проверка TCP порт 135 службы RPC Endpoint Mapper

Если RPC порт доступен, должен появится ответ
TcpTestSucceeded:True
.

Вы можете получить список конечных точек RPC (сервисов и приложений), которые зарегистрированы на удаленном компьютере и анонсируются службой RPC Endpoint Mapper с помощью утилиту PortQry

portqry -n 192.168.1.201 -p tcp -e 135

В выводе PortQry можно найти номер порта, назначенный нужной вам службе RPC (она запущена?) и проверить, что этот порт не блокируется с клиента.

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

Проверка сетевых протоколов и настроек

Убедитесь, что на вашем компьютере заданы корректные сетевые настройки: IP адрес, шлюз, маска сети, настройки DNS серверов (можно проверить настройки сети из PowerShell). Проверьте, что в настройках сетевого адаптера, используемого для подключения включены протоколы Internet Protocol Version 6 (TCP/IPv6) и File and Printer Sharing for Microsoft Networks

включить протокол ipv6 и протокол общего доступа в windows 10

Некоторые сетевые приложения некорректно работают при отключенном протоколе TCP/IPv6, возвращая ошибку:
1722 The RPC server is unavailable
. Если после включения ipv6 ошибка RPC сохраняется, попробуйте отключить протокол Teredo через реестр:

Создайте в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters параметр типа DWORD с именем DisabledComponents и значением 8:

reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 8

В некоторых случаях приходится получаить дамп трафика на RPC сервера и анализирвать его с помощью Microsoft Network Monitor 3.4 или Message Analyzer.

Вы можете столкнуться с ошибкой Сервер RPC недоступен (Исключение из HRESULT: 0x800706BA) / The RPC server is unavailable (Exception from HRESULT: 0x800706BA) при попытке подключения к удаленному компьютеру или серверу через определенную MMC оснастку управления, WMI инструмент, PowerShell WinRM или другой протокол удаленного управления.

Проще всего проверить доступность службы RPC на удаленном компьютере с помощью простого WMI запроса. В моем случае я попытаюсь опросить удалённый компьютер через WMI из консоли PowerShell.

Get-WmiObject Win32_ComputerSystem –ComputerName 192.168.0.114

На скриншоте, видно, что удаленный компьютер не доступен по RPC.

Get-WmiObject : Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
строка:1 знак:1
+ Get-WmiObject Win32_ComputerSystem –ComputerName 192.168.0.114
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException
+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)

Что нужно проверить, чтобы исправить ошибку «Сервер RPC недоступен 0x800706BA»:

  1. Проверьте, возможно вы указали неверный IP адрес / имя компьютера, или удаленный компьютер находится в состоянии выключения или еще только загружается.
  2. Убедитесь, что на удаленном компьютере запушены службы Удаленный вызов процедур (RPC) (Remote Procedure Call (RPC) ) и Инструментарий управления Windows (Windows Management Instrumentation). Вы можете проверить статус служб с помощью команд: sc query Winmgmt и sc query rpcss. В том случае, если эти службы запущены команды вернут Состояние: 4 RUNNING. Если службы остановлены, запустите их командой: net start rpcss & net start Winmgmt
    запуск служб Удаленный вызов процедур (RPC) Инструментарий управления Windows WMI
  3. Возможно доступ к удаленному компьютеру через порты RPC блокируется на сетевом уровне файерволом (это очень распространённая причина). В том случае, если в вашей сети нет файерволов, попробуйте временно отключить Windows Firewall (а также антивирусы, т.к. файервол может быть встроен в них) на стороне клиента и сервера и проверить соединение. Дополнительно, для работы протокола RPC вы должны проверить доступность TCP порта 135 на стороне сервера. Проще всего это сделать командлетом Test-NetConnection: Test-NetConnection 192.168.1.15 -port 135. Если служба RPC включена и доступ к ней не блокируется межсетевым экранов, в строке TcpTestSucceeded будет указано True.
    проверка доступности RPC порта Test-NetConnection

Если вы столкнулись с ошибкой «Сервер RPC недоступен 0x800706BA» при выполнении автоматической регистрации сертификата на контроллере домена или в центре сертификации, то при этом в журнале приложений сервера скорее всего присутствует такая ошибка:

Source: CertificateServicesClient-CertEnroll Event ID: 13

Certificate enrollment for Local system failed to enroll for a DomainController certificate with request ID N/A from mskCA.vmblog.ru mskCA (The RPC server is unavailable. 0x800706ba (WIN32: 1722))

Или

Source: CertificateServicesClient-AutoEnrollment EventID: 6
Automatic certificate enrollment for local system failed (0x800706ba) The RPC server is unavailable.

Automatic certificate enrollment for local system failed (0x800706ba) The RPC server is unavailable.

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

  1. Убедитесь, что в вашем домене AD с центром сертификации существует группа CERTSVC_DCOM_ACCESS или Certificate Service DCOM Access.
  2. Добавьте в группу CERTSVC_DCOM_ACCESS/Certificate Service DCOM Access следующие доменные группы: Domain Users, Domain Controllers, Domain Computers.
  3. Выполните обновление настроек безопасности DCOM на сервере с ролью центра сертификации с помощью команд:
    certutil -setreg SetupStatus -SETUP_DCOM_SECURITY_UPDATED_FLAG
    net stop certsvc
    net start certsvc
  4. На хосте с развернутым центром сертификации проверьте разрешения во вкладке безопасность COM. Для указанной выше группы должны быть разрешены Удаленный доступ и Удаленная активация.

После этого попробуйте перезагрузить компьютер и проверить выдачу сертификата.

Появление ошибки «сервер RPC недоступен» показывает нарушение работоспособности системы Windows.

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

Однако перед устранением неполадок, которые позволят вам избавиться от проблем с принтерами, МФУ, звуком, видео и даже запуском некоторых приложений, стоит ознакомиться с принципом работы сервиса.

Содержание:

Принцип действия RPC

Проблемы с сервисом RPC являются одной из наиболее распространённых проблем операционной системы Windows любого поколения, начиная с 2000-й версии.

Сама же служба, название которой расшифровывается как «вызов удалённых процедур», представляет собой технологию, позволяющую приложениям выполнять определённые действия в других адресных пространствах – например, на других компьютерах или устройствах.

В состав RPC включены два основных компонента – сетевой протокол для обмена и язык программирования, с помощью которого обеспечивается сериализация объектов и структур.

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

В некоторых используется сервис-ориентированная архитектура SOA, в других – расширение DCOM, в третьих – спецификация CORBA.

При этом основными протоколами являются UDP и TCP.

Достаточно редко применяется технология HTTP, не всегда совместимая с архитектурой ISO/OSI.

Если же работа RPC нарушена, обмен данными нарушается, система теряет связь с удалёнными объектами, и некоторые её функции перестают выполняться.

Принцип действия RPC

к содержанию ↑

Причины появления ошибки сервер RPC недоступен

Сообщение о недоступности сервера RPC может появляться при попытке установить или обновить драйвера принтеров, МФУ, звуковых карт и графических процессоров.

Иногда подобная ситуация возникает при неудачной попытке доступа к удалённым серверам, при сетевой печати и даже во время входа пользователя в систему.

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

Или попробовав воспользоваться несколькими универсальными методиками, восстанавливающими сервис, независимо от причины его неработоспособности.

Рис.1. Сообщение о проблемах с сервером RCP.

Сообщение о проблемах с сервером RCP.

к содержанию ↑

Поиск причины неполадки и её исправление

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

Для этого следует:

  1. Перейти в меню «Пуск»;
  2. Выбрать «Панель управления»;
  3. Найти вкладку администрирования и перейти к просмотру событий;

Рис.2. Просмотр логов для определения причины неполадок.

Просмотр логов для определения причины неполадок.

  1. Найти в журнале соответствующую ошибку (если выполнить эти действия сразу же после появления сообщения о проблемах с RPC, событие будет верхним в списке);
  2. Найти в сети описание проблемы по коду ошибки.

Если таким способом найти неполадку не удалось, стоит попробовать избавиться от неё, проверив систему антивирусом. Например, Dr.Web Curelt или другими доступными антивирусными приложениями.

Ведь иногда причинами появления сообщения являются результаты работы вредоносного кода Conficker – «червя», использующего уязвимости сервиса RPC.

Совет: если в процессе проверки вирусы всё-таки были обнаружены, антивирусную программу стоит заменить. Так как при использовании старого антивируса ошибка с RPC, причиной которой стал вредоносный код, может появиться снова.

Иногда помогает устранить ошибку и изменение настроек брандмауэра системы, в котором могут быть отключено прохождение пакетов 135–445.

Убедиться в том, что причиной ошибки является именно Защитник Windows, можно, временно отключив его (через настройки утилиты или с помощью набранной в командной строке команды sc sharedacess stop) и обновив систему с помощью службы автоматического обновления.

Кстати, о том, как работать с Защитником Windows читайте в наших материалах:

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

Рис.3. Отключение работы брандмауэра и установка обновлений для системы.

Отключение работы брандмауэра и установка обновлений для системы.

Ещё один сравнительно несложный способ решения проблемы – восстановление работоспособности ветки реестра под названием SYSTEM. Для этого можно воспользоваться двумя способами:

1. Перейти по адресу Windows System32 Config и войти в директорию сохранённых ранее вариантов – RegBack. Отсюда следует скопировать файл System и поместить его в папку Config.

Методика помогает только, если причиной ошибки был вирус, который заразил систему уже после того как было сделано последнее сохранение раздела;

Рис.4. Восстановление реестра Windows 7.

Восстановление реестра Windows 7.

2. С помощью консоли восстановления, которая обычно есть в составе дистрибутива системы. Для Windows 8 и 10 есть возможность восстановить реестр с помощью меню дополнительных параметров.

Хотя при этом теряется информация об устройствах, и всё оборудование придётся устанавливать заново.

Рис.5. Восстановление реестра системы с помощью точек восстановления.

Восстановление реестра системы с помощью точек восстановления.

Дополнительный способ – проверка работы некоторых служб. Для неё необходимо:

  1. Перейти в меню «Пуск»;
  2. Запустить командную строку от имени администратора системы;
  3. Проверить, запущены ли службы под названием DcomLaunch, RpcSS и Spooler (если они работают, значение состояния равно Running);
  4. Записать эти службы в реестр с помощью команд sc config «название службы» start= auto.

Рис.6. Проверка работы служб с помощью командной строки.

Проверка работы служб с помощью командной строки.

Если ни одна из этих методик не помогла, можно проверить наличие в папке System32 (в директории Windows на системном диске) файлов Spoolss.dll и Spoolss.exe.

С помощью запуска команды sfc/scannow их можно не только найти, но и восстановить предыдущие версии.

к содержанию ↑

Исправление проблем со звуком

В Виндовс 7, 8 и 10 причиной появления сообщения (ошибка 1722) могут быть проблемы со звуком, вызванные непосредственной связью параметров службы Windows Audio с сервисом питания.

Восстановить работоспособность сравнительно несложно.

Для этого переходят в меню Служб системы («Пуск» «Панель управления» «Администрирование» «Службы») и запускают средство построения конечных точек сервиса.

О том как решить другие проблемы со звуком читайте в наших материалах:

Рис.7. Восстановление работоспособности службы Windows Audio.

Рис.7. Восстановление работоспособности службы Windows Audio.

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

Для этого, так же как и в предыдущей методике, следует перейти к службам операционной системы.

Рис.8. Проверка работы служб.

РПроверка работы служб.

В открывшемся меню требуется проверить работу служб «Питание», «Сервер», «Удалённый реестр» и «Удалённый вызов процедур».

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

Хотя для гарантии работоспособности аудио и всей системы в целом можно дополнительно запустить проверку Windows антивирусом.

Читайте также:

к содержанию ↑

Исправление ошибки при проблемах с технологией BitLocker To Go

Технология BitLocker To Go, необходимая для защиты информации на сменных накопителей, иногда тоже вызывает проблемы с RPC.

Ситуация может быть следующей – при подключении защищённого внешнего устройства (флешки) к компьютеру и введения пароля на экране появляется сообщение о недоступности сервиса.

И вместо получения доступа к данным на диске пользователю приходится решать проблему с вызовом удалённых процедур.

Решить вопрос можно, обновив систему. Это делается с помощью центра обновлений Виндовс или путём скачивания конкретного пакета с официального сайта Microsoft.

Например, для Windows 8 это – обновление 2962409, предназначенное для исправления ошибок технологии BitLocker.

Рис.9. Установка обновления для Windows 8.1.

Установка обновления для Windows 8.1.

к содержанию ↑

Проблема с запуском ABBYY FineReader

Ошибка при попытке запуска программы ABBYY FineReader требует выполнения следующих действий:

1. Нажатия кнопки «Пуск»;

2. Перехода в меню панели управления;

3. Выбора пункта «Администрирование» и подпункта «Службы»;

4. Поиска в списке служб ABBYY FineReader Licensing Service и выбора его свойств;

Рис.10. Работа со службой ABBYY FineReader Licensing Service.

Работа со службой ABBYY FineReader Licensing Service.

5. Перехода к вкладке «Общие»;

6. Проверки в выпадающем списке типа запуска наличия опции «Авто» и, при необходимости, её включения.

Теперь необходимо нажать кнопку «ОК», вернуться к списку служб и запустить ABBYY FineReader (или перезапустить, если сервис уже работает).

После перезагрузки системы проблема должна исчезнуть. Для проверки следует запустить программу для распознавания текстов.

Совет: Если проблема с сервисом RPC возникает периодически, вместо опции «Авто» в последнем пункте следует выбрать «Авто (Отложенный запуск)».

к содержанию ↑

Выводы

После использования всех методик (общих и предназначенных для исправления конкретных ошибок) проблема с ошибкой RPC, как правило, исчезает.

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

Хотя положительный результат тоже не означает, что проблема решена полностью.

Сообщение о недоступности сервера RPC показывает, что Windows работает с ошибками и в ближайшее время потребует переустановки.

Table of Contents

  • Introduction
  • The RPC Server
  • The RPC Client
  • RPC Quick Fixes
    • Unable to resolve DNS or NetBIOS names in an Active Directory environment.
    • The RPC service or related services may not be started
    • Network Connectivity
      • Verify ports needed by RPC are open
      • File and Printer Sharing is not enabled
    • Name Resolution
      • DNS Name Resolution
      • NetBIOS Name Resolution
    • TCP Session Establishment
      • Firewall/Network
    • RPC Discovery
      • Discovery — RPC Over TCPIP
      • Discovery — RPC Over SMB
    • RPC Communication
  • How to identify the RPC traffic in a trace
    • RPC over TCPIP
    • RPC over HTTP Port 80
    • RPC over HTTP Port 443
    • RPC over SMB aka “Named Pipes”
    • Kerberos Authentication
    • NTLM Authentication
  • Troubleshooting Authentication
    • Active Directory Symptoms:
    • Troubleshooting Tools and Methods
    • Methods to generate RPC Traffic
    • Tools for Testing RPC
    • Tools for monitoring RPC
    • Using PortQry
  • Resources
    • RPC Blogs
    • External TechNet Magazine article
    • KB Article

Introduction

Remote Procedure Call (RPC) is an inter-process communication technique to allow client and server software to communicate on a network. The RPC protocol is based on a client/server model. The client makes a procedure call that appears to be local but is
actually run on a remote computer. During this process, the procedure call arguments are bundled and passed through the network to the server. The arguments are then unpacked and run on the server. The result is again bundled and passed back to the client,
where it is converted to a return value for the client’s procedure call.

RPC is used by several components in Windows Server, such as the File Replication Service (FRS), Active Directory Replication, Certificate services, DCOM, domain join, DCPromo and RDP, NLB and Cluster, Microsoft Operations Master, Exchange and SQL.

The RPC Server

An RPC server is a communications interface provided by an application or service that allows remote clients to connect, pass commands, and transfer data using the RPC protocol. A typical example of an RPC server is Microsoft Exchange Server. Microsoft Exchange
Server is an application running on a computer that supplies an RPC communications interface for an RPC client.

An application will register its RPC server with the operating system’s End Point Mapper (EPM) service so that the remote client can locate the RPC server. When the application registers with the EPM it will indicate the IP address and TCP port that it is
listening on. 

The RPC Client

An RPC client is an application running on any given computer that uses the RPC protocol to communicate with an RPC server. An example of a typical RPC client is the Microsoft Outlook application.

NOTE: In this document the terms RPC server and
RPC client refer to the application running at both ends of an RPC communication.


Back to top


RPC Quick Fixes

Common causes of RPC errors include:

  • Errors resolving a DNS or NetBIOS name.
  • The RPC service or related services may not be running.
  • number of connectivity Problems with network connectivity.
  • File and printer sharing is not enabled.

 Use the following procedures to diagnose and repair common causes of RPC errors.

Unable to resolve DNS or NetBIOS names in an Active Directory environment.

  1. Use the following commands to verify DNS is working for all DC’s or specific DC’s:
    • To get a DNS status for all DCs in forest, run the following command:
      • DCDIAG /TEST:DNS /V /E /F:<filename.log>
      • The «/e» switch runs the DNS test against all DCs in an Active Directory Forest
    • To get DNS health on a single DC, run the command below.
      • DCDIAG /TEST:DNS /V /S:<DCNAME> /F:<filename.log>
      • The «/s:» switch runs the DNS test against a specified domain controller.
    • To verify that a domain controller can be located for a specific domain, run the command below.
      • NLTEST /DSGETDC:<NetBIOS or DNS domain name>  
  1. Servers and clients that are receiving the error should be checked to verify that they are configured with the appropriate DNS server. Servers should not be pointing to their ISP’s DNS servers in the preferred or alternate DNS server portion of the TCP/IP
    settings. The ISP’s DNS servers should only be used as forwarders in DNS. 
  1. Ensure that at least one correct DNS record is registered on each domain controller.
    • To ensure that a correct DNS record is registered on each domain controller, find this server’s Active Directory replication partners that run DNS.
    • Open DNSManager and connect in turn to each of these replication partners.
    • Find the host (A) resource record registration for this server on each of the other replication partner domain controllers.
    • Delete those host (A) records that do not have IP addresses corresponding to any of this server’s IP addresses.
    • If a domain controller has no host (A) records for this server, add at least one that corresponds to an IP address on this server. (If there are multiple IP addresses for this server, add at least one that is on the same network as the domain controller
      you are updating.) 
  1. Name resolution may also fail with the RPC Server is unavailable error if NetBIOS over TCP/IP is disabled on the WINS tab in the advanced section of the TCP/IP properties. The NetBIOS over TCP/IP setting should be either enabled or default (use DHCP).  
  1. Verify that a single label domain name is not being configured. DNS names that do not contain a suffix such as .com, .corp, .net, .org or .local are considered to be single-label DNS names. Microsoft doesn’t recommend using single label domain names because
    they cannot be registered with an Internet registrar and domain members do not perform dynamic updates to single-label DNS zones. Knowledge base article
    826743 — «Clients cannot dynamically register DNS records in a single-label domain» provides instructions on how to configure your domain to allow dynamic registration of DNS records in a single label domain.

The RPC service or related services may not be started

Verify the status and startup type for the RPC and RPC locator services on the server that gets the error:

  1. By default, Windows server 2003 domain controllers and member servers all should have the RPC service started and set to Automatic startup and the RPC Locator service stopped and set to Manual Startup.
  2. Windows 2000 domain controllers should have the RPC and RPC Locator services both set to started and automatic startup, while Windows 2000 member servers should have the RPC service started and set to automatic startup while the RPC locator service should
    be started and set to manual startup.
  3. If you make any changes to the RPC service or to the RPC Locator service settings, restart the computer, and then test for the problem again.
  4. Additional Services that may result in «The RPC Server is Unavailable» errors are the TCP/IP NetBIOS helper service, Distributed File System service and Remote Registry service. These services should both be set to automatic and started. The Kerberos Key
    Distribution Center (KDC) should be Started and Automatic on Windows 2000 and Windows 2003 DCs. It should not be started and set to Disabled in all other cases.


Back to top


Network Connectivity

Verify ports needed by RPC are open

Verify that ports greater than 1024 are not blocked. Clients connect to RPC Endpoint Mapper on port 135. RPC Endpoint Mapper then tells the client which randomly assigned port between 1024-65535 a requested service is listening on.

Ports may be blocked by a hardware firewall or a software firewall. Software firewalls include Internet Connection Firewall on computers running Windows Server 2003 or Windows XP, and Windows Firewall on computers running Windows Vista, Windows 7, Windows
Server 2008 and Windows Server 2008 R2. A computer might also have third-party firewall software installed, or antivirus software with built-in firewall functionality. By default, port 135 TCP/UDP and ports 1024-65535 TCP must be open for RPC to work. You
can restrict the ports greater than 1024 that RPC uses. However, RPC Endpoint Mapper is always on port 135.

File and Printer Sharing is not enabled

File and Printer sharing for Microsoft Networks will produce the error RPC Server is unavailable” when you try to view or manage services on a remote computer using the Services snap-in. See the following example:

Unable to open service control manager database on \<computer>.

Error 1722: The RPC server is unavailable.

This error message may occur if the File and Printer Sharing for Microsoft Networks component is not enabled on the remote computer.

Troubleshooting RPC

The process of an RPC client connecting to an RPC server can be broken down into four phases. This troubleshooting guide will discuss the events that occur at each phase, how to test these events, and how to identify if the phase completed successfully.

Phase 1: Name Resolution: Name resolution is the act of resolving a name to an IP address. This normally takes two forms: NetBIOS Name Resolution or the more common DNS Name Resolution.

Phase 2: TCP session establishment: TCP session establishment is the act of establishing a TCP connection between the RPC client and the RPC server. TCP sessions will be initiated by the RPC client via a TCP 3-way handshake with the RPC
server.

Phase 3: RPC Discovery: When a client wants to connect to the RPC server supplied by the application it will contact the computer that hosts the RPC Server and discover how to connect to the RPC Server.

Phase 4: RPC Communication: RPC Communication is the act of making RPC requests to the application endpoint and receiving RPC responses from this application.

Data needed to troubleshoot the issue:

  • Identify the client and server computers reporting the RPC error. Identify the DNS and WINS servers used by these computers. To do this:
    • On each machine, open a command prompt and run ipconfig /all.
    • Determine the IP address of both machines.  If the server is part of a cluster get the cluster resource IP address as well. Identify the DNS servers and WINS servers that the RPC client is configured to use.

Note: You can also obtain this information by opening Control PanelNetwork and Sharing Center, clicking Local Area Connection and selecting Properties.

  • Identify the application(s) reporting RPC Server Unavailable
  • Simultaneous network traces (using Wireshark, Netmon, or a comparable network sniffer) from the machines hosting the RPC client and RPC Server while reproducing the task that results in a “RPC Server Unavailable” error.
    • The network captures on both hosts should be started first.
    • From a command prompt on the client run ipconfig /flushdns and nbtstat –R to clear the name resolution caches.
    • Reproduce the error.
    • Stop the traces and save them.


Back to top


Name Resolution

Name Resolution consists of one or possibly more NetBIOS or DNS queries to locate the IP address for the RPC Server. Troubleshooting this phase requires verifying that a response is received to the name resolution request and that the response contains the
correct IP address for the RPC server. Compare the IP address reported by DNS or NetBIOS in the network trace for the server with the IP addresses you noted earlier. If it does not match then check DNS and WINS and note if there is a difference.

DNS Name Resolution

To identify DNS Name Resolution in a network trace use the following filter in Network Monitor or Wireshark: dns. DNS resolution will be occurring at the client so open the network trace taken from the RPC client machine. You will be looking for one packet
that is the query from the client to the DNS server and then the response packet from the DNS server. It will look similar to this:

If the trace shows the correct IP address for the RPC server was returned by the DNS server proceed to TCP Session Establishment.

If the trace does not show a correct IP address returned or you do not see any answer from the DNS server then reference the following resources to help with DNS name resolution troubleshooting.

For details on troubleshooting Active Directory related DNS issues go
here.

For general DNS troubleshooting:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;330511

NetBIOS Name Resolution

NetBIOS queries come in two forms, WINS or NetBIOS Broadcasts. WINS will consist of a unicast query to a WINS server and a response from the WINS server.

NetBIOS broadcasts are queries broadcast to all hosts on the local subnet so name resolution is limited to only hosts on the subnet. The host with the name listed in the NetBIOS Broadcast will respond with its IP address.

To identify NetBIOS Name Resolution in a network trace, use the following filter in Network Monitor —  “nbtns”. For Wireshark, use the following filter — nbns”. If the trace shows a successful resolution using WINS or NetBIOS queries proceed to TCP Session
Establishment.

For details on troubleshooting this NetBIOS Name Resolution further:

http://technet.microsoft.com/en-us/library/cc940110.aspx

TCP Session Establishment

TCP Sessions always begin with a TCP 3-way handshake. The handshake should look similar to what is shown below. The RPC Client will send the first packet, known as the SYN packet.  The computer hosting the RPC Server will send a SYN/ACK response, and then
the RPC Client will send an ACK packet.

Scenarios that may cause the TCP session to fail

Firewall/Network

If a firewall or network problem is the culprit, it is likely a failure will occur during this phase. To diagnose this you will want to look at the network traces taken from the RPC Client and RPC Server. If a firewall or other network device is causing a problem
it will usually manifest as a retransmit of the TCP SYN packet by the RPC Client about 3 seconds after the first TCP SYN is sent. This can be seen in a Netmon network trace using the display filter specification of “tcpsynretransmit==1”. In other cases, firewalls
will allow the 3-way handshake to succeed but may block the RPC packets due to the contents of the packet at a higher level. In these cases it is possible to see the retransmit of the RPC packet within half a second of the original packet being sent. To identify
this condition in a Netmon network trace use the display filter specification of “tcpretransmit==1”. To see either of these retransmit conditions in a trace taken using Wireshark use the display filter specification of “tcp.analysis.retransmission”.

The RPC Server is not actively listening.

It was noted earlier that an RPC Server will register itself and listen on a particular port and IP address of the host computer. If for some reason that fails the TCP layer will answer the SYN packet from the client with a Reset packet. 

A device in the middle between the RPC Client and RPC Server will be resetting the connection attempt.

In the client side trace it will appear as if the server sent the TCP Reset while the trace from the server indicates the client is the source of the TCP Reset.

For both these scenarios, check for the presence of a Reset packet in the TCP three way handshake by using the display filter specification of “TCP.flags.reset==1”.  

For troubleshooting this step see the following sections in this document:

  • How to identify RPC traffic in a trace
  • Connectivity
  • RPC Services 
  • RPC Client Registry

If the 3-way handshake is successful, continue to the RPC Discovery phase. 


Back to top


RPC Discovery 

The RPC Discovery phase will occur one of two ways. In both methods the client will know the identifier for the RPC Server it wants to contact and will supply that to the computer hosting the RPC Server and ask for information on how to contact the RPC Server.
The identifier is different depending on which method is used and the RPC client will know ahead of time which method it wishes to use.

Discovery — RPC Over TCPIP

This method is a two-step process. First the RPC client will contact the End Point Mapper (EPM) on the machine hosting the RPC Server to find out what port and IP address that Server is listening on. Upon successful completion of this the RPC client will
contact the RPC Server directly on the indicated IP address and Port. Below is a sample of what this would look like and a step by step explanation below it. This step depends on the successful TCP session establishment twice, first to the EPM and then to
the RPC Server.  

  1. The RPC Client will open a TCP session with TCP port 135 on the computer hosting RPC Server of interest. This can be picked out using the following filter syntax in Netmon or Wireshark: “tcp.port==135”
  2. The RPC Client will send an RPC Bind request using the UUID of the End Point Mapper and the RPC EPM should respond with a Bind ACK packet.
  3. The RPC Client will make a MAP request to the EPM to locate the IP address and port of the RPC Server of interest, identifying the RPC Server based on its UUID.
  4. The EPM will send back a MAP Response that indicates the IP and port the RPC Server is listening on.
  5. The RPC Client will then open a TCP session with the IP and port it received in the EPM MAP response.
  6. The client will send an RPC Bind Request to the RPC Server specifying the UUID of the RPC Server application and should get back a Bind ACK from the RPC Server.
  7. There will be an RPC Alter Context Request/Response in which authentication will take place.  If an error is noted here then see the following section for help determining why the error is occurring —

    Authentication

  8. Perform some RPC operations…(Go to RPC Communication phase)

Discovery — RPC Over SMB

The second method an RPC Client may use to contact an RPC Server is RPC over SMB. This method depends upon first establishing an SMB session with the computer hosting the RPC Server and then using the Named Pipes protocol to communicate using RPC. So in
effect there are several levels of encapsulation – RPC over Named Pipes over SMB over TCP. We will not address the SMB session setup in this document and the TCP session establishment has already been discussed.

With a successfully opened TCP and SMB session, next:

  1. The RPC Client will issue a SMB TreeConnectAndX for the tree name “IPC$”. This is a special hidden share for inter-process communication. It should get a positive response from the computer hosting the RPC Server.
  2. The RPC Client will then issue an SMB NTCreateAndX for the name of the PIPE of the RPC Server Application and should get back a positive response.  Some examples are:

EVENTLOG = The Event log service

winreg = Remote Registry

svcctl = Service Control Manager

srvsvc = Server Service

  1. Next there is a Bind handshake. This is to “bind” the RPC client to the RPC server. There are a total of four packets involved:
    1. The RPC Client bind request containing the UUID of the desired RPC Server.
    2. A Write AndX response from the RPC Server
    3. A Read AndX request from the RPC Client.
    4. A Bind ACK response from the RPC Server.
  2. At this time a RPC request to the RPC server component is expected.                    

RPC Communication

At this point RPC communication is occurring between the RPC Client and RPC Server. The troubleshooting steps involved at this stage are largely based on the application reporting the RPC failure. 

For Active Directory processes or services please see
Active Directory Symptoms.

For Microsoft Exchange related RPC errors please see:
Analyzing Exchange RPC traffic over TCP/IP                                                          


Back to top


How to identify the RPC traffic in a trace

RPC network traffic can take multiple forms. It is important to understand which form is in use in order to identify which TCP session is responsible for the RPC communication.                                      

RPC over TCPIP

This is sometimes referred to as Traditional RPC or Sockets based RPC. An example of this is Outlook without “Outlook anywhere” or without http settings configured. A TCP session on TCP port 135 is established with the RPC server. To view this traffic in
a trace use the filter: “tcp.port==135”.  This session will be used in the RPC Discovery phase to locate the endpoint of the desired application. 

RPC over HTTP

RPC connectivity for Internet connected hosts will typically use RPC over HTTP in order to traverse firewalls. Some examples of this can be seen with Terminal Services Gateway, Outlook Web Access, Outlook via “Outlook Anywhere”. This communication will be
established on one or more connections to either TCP port 80 or 443(SSL). Since this typically traverses a public network, SSL or TCP port 443 is the more common method. Use the filter “tcp.port==80 or tcp.port==443” to locate either form inside network trace.   

RPC over HTTP Port 80

For sessions over TCP port 80, the HTTP requests associated with RPC over HTTP will include a UserAgent header that contains the text “OutlookConnectorDS” and the version number of the connector.

RPC over HTTP Port 443

Sessions using TCP port 443 will initially establish a TLS session. After this TLS negotiation, the TCP Payload will be encrypted in TLS/SSL and the contents of the frames will not be readable in the trace. In this phase, look for failures due to improper
certificates, inaccessible Certificate Revocation Lists, or untrusted certificate chains. 

For more information on troubleshooting SSL/TLS see:

http://technet.microsoft.com/en-us/library/cc783349(WS.10).aspx


Back to top


RPC over SMB aka “Named Pipes”

RPC can also take advantage of SMB sessions for the purpose of RPC communication. Some examples of this can be seen with Computer Management or the Remote Registry service. With the use of RPC over SMB:

  1. Establish TCP connection on TCP port 139 or 445.
  2. Negotiate dialect request/response
  3. SessionSetupANDX request/response. This sequence is used to establish the SMB Session. Authentication occurs during the SessionSetupANDX exchange. 

If a failure in step 1 occurs, see additional troubleshooting steps see:
File and Printer Sharing.

Kerberos Authentication 

If Kerberos is used, and the client doesn’t currently have a Kerberos ticket for the RPC server, just after the Negotiate Dialect response is received, the client will obtain a Kerberos ticket for the Servername/cifs SPN of the RPC server. This exchange
will occur over the Kerberos ports TCP or UDP port 88 between the client and a Domain Controller. SessionSetupANDX follows and will consist of a single SessionSetupANDX request which includes the Kerberos ticket, followed by a SessionSetupANDX Response indicating
success or failure of the authentication. 

For additional troubleshooting steps during authentication, see
Authentication.

NTLM Authentication

If NTLM is used, SessionSetup will result in a SessionSetupANDX response with a status of STATUS_MORE_PROCESSING_REQUIRED. This response includes the NTLM challenge. The subsequent SessionSetupANDX Request will include the hashed credentials of the client.
At this time, the RPC server must validate the credentials supplied by the user. To do this, the RPC server will contact a domain controller, and validate the credentials with the netlogon service, via RPC, on the domain controller. If this is successful,
the RPC server will then respond to the client with a SessionSetupANDX Response indicating STATUS_SUCCESS.

For additional troubleshooting steps during authentication, see
Authentication.                     

Troubleshooting Authentication

Verify that authentication is working correctly by checking for Time skew, UDP Fragmentation or an Invalid Kerberos Realm.

  • Time skew can be verified by running net time /querysntp and net time /setsntp:<PDCe server name>. The /querysntp switch allows you to determine if a specific DC is manually configured as the authoritative time server. The /setsntp:<PDCe server name> switch
    can be used to synchronize the computer receiving the error with the PDC emulator. The PDC emulator is the authoritative time server by default.
  •  UDP fragmentation can cause replication errors that appear to have a source of RPC server is unavailable. Symptoms of UDP fragmentation being at the root of this problem include clients being unable to log on to the domain, administrators being unable
    join computers to the domain and Event ID 40960 & 40961 errors with a source of LSASRV and Kerberos errors with an Event ID of 10 in the system log.

    Knowledge base article 244474 — «How to force Kerberos to use TCP instead of UDP in Windows Server 2003, in Microsoft Windows and XP, and in Microsoft Windows 2000» provides the steps to resolve this
    problem.

  •  An incorrect Kerberos realm can also be at the root of RPC server is unavailable problems. The symptoms that will be experience when the Kerberos realm is incorrect include the following errors when opening AD management tools:

    Naming Convention could not be located because: No authority could be contacted for authentication. Contact your system administrator to verify that your domain is properly configured and is currently online.

    -or-

    Naming information cannot be located because: No authority could be contacted for authentication. Contact your system administrator to verify that your domain is properly configured and is currently online.

    To verify that the correct Kerberos realm is configured, follow the steps in 837513 — «Domain controller is not functioning correctly».


Back to top


Active Directory Symptoms:

1. If you are experiencing replication problems and getting RPC server is unavailable errors as is reported in repadmin /showreps below, use Portqry or Network Monitor to determine if RPC traffic is being blocked is the first step when attempting
to troubleshoot RPC Server is unavailable errors.

[Replications Check,DC2] A recent replication attempt failed:

From DC1 to DC2

Naming Context: CN=Schema,CN=Configuration,DC=xl

The replication generated an error (1722):

The RPC server is unavailable.

The failure occurred at 2003-10-30 11:59.47.

The last success occurred at 2003-10-28 20:50.22.

26 failures have occurred since the last success.

[DC1] DsBind() failed with error 1722,

The RPC server is unavailable..

The source remains down. Please check the machine.

BermudaDC1 via RPC objectGuid: 28c78c72-3c95-499a-bcda137a250f069f

Last attempt @ 2003-10-30 11:58.15 failed, result 1722:

The RPC server is unavailable.  

Troubleshooting: If IP Security Policies in Active Directory had the Assigned Value to Server (Request Security) set to Yes then these errors will result. Knowledge base article 313190
— «How to use IPSec IP filter lists in Windows 2000» provide details about where to check these settings and more information about their impact.

2. If you are blocking all ICMP traffic between separate AD sites, you will receive the errors below in the output of DCDIAG when trying to replicate inter-site:

Testing server: contosoDC1

Starting test: Replications

* Replications Check

[Replications Check,DC1] A recent replication attempt failed:

From DC2 to DC1

Naming Context: CN=Schema,CN=Configuration,DC=litware,DC=com

The replication generated an error (1722):

The RPC server is unavailable.

The failure occurred at 2003-08-24 23:00.51.

The last success occurred at (never).

553 failures have occurred since the last success.

[DC2] DsBind() failed with error 1722,

The RPC server is unavailable..

The source remains down. Please check the machine.

REPLICATION LATENCY WARNING

DC1: A full synchronization is in progress

from DC2 to DC1

Replication of new changes along this path will be delayed.

[DC2] LDAP connection failed with error 58,

The specified server cannot perform the requested operation.  

Troubleshooting: To resolve this issue, remove the ICMP traffic restriction between domain controllers. When establishing an RPC session prior to AD replication, ICMP traffic is used. If the ICMP fails, so does the RPC session establishment,
and hence AD replication also fails. ISA 2004 can prevent ICMP traffic with the exception of computers specified in the Remote Management Computers computer set which can be configured in system policy.

3. The following error will appear when attempting to connect to the computer.

«computer <\servername.domain.local> cannot be managed. The network path was not found. RPC server is unavailable.

Or when viewing the properties of the remote computer you will receive the error:

«Win32: The RPC server is unavailable».

Troubleshooting: Computer management is one of the better tools for testing RPC connectivity. When RPC traffic is being blocked, connections to other computers using the computer management console will fail.

4. When attempting to promote an additional domain controller in an Active Directory domain while the RPC service is blocked or not running, the following error will appear:

«The domain «domain.local» is not an Active Directory domain, or an Active Directory domain controller for the domain could not be contacted.

Troubleshooting:

5. Connections to computers via Remote Desktop may fail if RPC connectivity cannot be established. When attempting to logon on to the domain via Remote Desktop the following error will be produced in the form of a popup error message if RPC connectivity
is the root of the problem:

«The system cannot log you on due to the following error: The RPC server is unavailable.”

You may also see the following errors on the Terminal server:

Error 1727: The remote procedure call failed and did not execute

Error 1722: The RPC server is unavailable.

Error 1723: The RPC server is too busy to complete this operation.

Error 1721: Not enough resources are available to complete this operation.

-or-

Event ID 5719:

Source: NetLogon

Description: No Windows NT Domain Controller is available for domain domain_name.

The following error occurred: There are currently no logon servers available to

service the logon request.

Event ID: 1219

Source: Winlogon

Details: Logon rejected for CONTOSO<computername>. Unable to obtain Terminal Server

User

Configuration. Error: The RPC server is unavailable.

Troubleshooting: These errors can be a result of the TCP/IP NetBIOS Helper service being disabled on the Terminal server or NetBIOS over TCP/IP being disabled on one of the NIC’s used to access the Terminal server. You should also verify
that the Client for Microsoft networks is bound to the adapter used to access the Terminal server. You can tell if this is happening by looking at a Netdiag /v from the box for the following output:

Testing redirector and browser… Failed

NetBT transports test. . . . . . . : Failed

List of NetBt transports currently configured:

[FATAL] No NetBt transports are configured.

Redir and Browser test . . . . . . : Failed

List of transports currently bound to the Redir

NetBIOSSmb

[FATAL] The redir isn’t bound to any NetBt transports.

List of transports currently bound to the browser

[FATAL] The browser isn’t bound to any NetBt transports.


Back to top


Troubleshooting Tools and Methods

Methods to generate RPC Traffic

Computer Management MMC to a remote host

Outlook to an Exchange server

RPCPing — http://support.microsoft.com/kb/831051

Tools for Testing RPC

RPCPing — http://support.microsoft.com/kb/831051 

PortQry —
http://support.microsoft.com/default.aspx?scid=kb;EN-US;832919

Pipelist —
http://technet.microsoft.com/en-us/sysinternals/dd581625.aspx 

RPCDump —
http://support.microsoft.com/default.aspx?scid=kb;EN-US;325930

NSLookup —
http://support.microsoft.com/default.aspx?scid=kb;EN-US;200525

NBLookup —
http://support.microsoft.com/default.aspx?scid=kb;EN-US;830578

Tools for monitoring RPC

Network Monitor  —
Download –
FAQ

Wireshark — Download                        

Using PortQry

You can use the Portqry tool to verify that the required ports are open. You should run the Portqry tool on a computer that is not receiving any RPC errors against a computer that is receiving RPC errors by using the -n switch. To this, follow these steps:

a. Click «Start», click «Run», type «cmd» in the «Open» box, and then click OK».

b. Type «portqry -n <problem_server> -e 135» (without the quotation marks). 

The output will appear similar to the following examples:

Querying target system called:

<problem_server>

Attempting to resolve name to IP address…

Name resolved to 169.254.1.1

querying…

<problem_server>

TCP port 135 (epmap service): LISTENING

Using ephemeral source port

Querying Endpoint Mapper Database…

Server’s response:

UUID: f5cc59b4-4264-101a-8c59-08002b2f8426 NtFrs Service

ncacn_ip_tcp:65.53.63.16[1094]

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface

ncacn_ip_tcp:65.53.63.16[1025]

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface

ncacn_http:65.53.63.16[1029]

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface

ncacn_http:65.53.63.16[6004]

If port 135 is blocked, the following will appear:

TCP port 135 (epmap service): NOT LISTENING However, for these RPC Endpoint Mapper errors it is likely that ports greater than 1024 are blocked, and not port 135.From the output, you know the DC is using port 1094 for FRS and 1025, 1029, and 6004 for Active
Directory replication. You can use the Portqry tool again to check those ports. For example, you can test all the ports at the same time by using the Portqry tool with the -o switch. For example, type

«portqry -n <problem_server> -o 1094,1025,1029,6004″(Without the quotation marks)

If the ports all respond as «LISTENING,» it’s likely that blocked ports are not causing this problem. If any ports respond as «NOT LISTENING,» the ports are probably blocked.


Back to top


Resources

RPC Blogs

Basics of RPC are covered here:

RPC to Go v.1: 
http://blogs.technet.com/b/networking/archive/2008/10/24/rpc-to-go-v-1.aspx

Architecture and a closer look at a connection to the RPC Endpoint mapper in a network capture.

RPC to Go v.2: 
http://blogs.technet.com/b/networking/archive/2008/12/04/rpc-to-go-v-2.aspx

This describes how RPC commands can be sent over Named Pipes in SMB via the IPC$ Tree.

RPC to Go v.3: 
http://blogs.technet.com/b/networking/archive/2009/04/28/rpc-to-go-v-3-named-pipes.aspx

Troubleshooting “RPC server is unavailable” error, reported in failing
AD replication scenario.

http://blogs.technet.com/b/abizerh/archive/2009/06/11/troubleshooting-rpc-server-is-unavailable-error-reported-in-failing-ad-replication-scenario.aspx 

External TechNet Magazine article

This one is good.  It lays out RPC basics really quickly and then moves on RPC errors.  The information on MaxUserPort would need to be updated with the information about the dynamic port ranges that are used in Vista/W2008 are the high range of ports compared
to the 1025-5000 for W2003.

How IT Works, Troubleshooting RPC Errors by Zubair Alexander: 

http://technet.microsoft.com/en-us/magazine/2007.07.howitworks.aspx

KB Article

Troubleshooting RPC Endpoint Mapper errors using the Windows Server 2003 Support Tools from the product CD

https://support.microsoft.com/en-us/help/839880/troubleshooting-rpc-endpoint-mapper-errors-using-the-windows-server-20


Back to top


Most likely, a lot of you already faced an error The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). This happens when you try to connect to a remote computer or server through a specific MMC snap-in, WMI, PowerShell, WinRM, or another remote management tool.

Troubleshooting RPC server unavailable error 0x800706BA

The easiest way to test the RPC connectivity between local and remote computers is to use a simple WMI query against a remote host.

In our case, we tried to poll a remote computer through WMI from the PowerShell console.

PS C:Windowssystem32> Get-WmiObject Win32_ComputerSystem –ComputerName 192.168.0.14

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

At line:1 char:1

+ Get-WmiObject Win32_ComputerSystem –ComputerName 192.168.0.14

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException

+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

the rpc server is unavailable 0x800706ba

In this example, you can see that the remote computer is not accessible by RPC.

Note. If the RPC communication between your hosts is working fine, you should get the remote computer info in the command output:

automatic certificate enrollment for local system failed (0x800706ba) the rpc server is unavailable.

Several common problems can cause the RPC server unavailable error:

  • The RPC service is stopped/failed on the remote computer;
  • The RPC Endpoint Mapper port TCP/135 is not accessible on the remote computer;
  • The Dynamic RPC range is blocked by firewalls installed between your computer and the remote computer.

First of all, make sure RPC Endpoint Mapper port 135 in listening on a remote computer. Use the following command:

netstat -ano | find "135"

the rpc server is unavailable. 0x800706ba

Now you need to check the next things in order to fix the error The RPC server is unavailable 0x800706BA:

  1. Check if you have entered the correct IP address or computer name; check if the remote computer is not in the shutdown/startup state now;
  2. Verify that Remote Procedure Call (RPC) and Windows Management Instrumentation services are running on the remote computer. You can check the status of services using the following commands: sc query Winmgmt and sc query rpcss. If these services are started, the commands should return STATE: 4 RUNNING. If the services are stopped, run them with the command:
    net start rpcss & net start Winmgmt
  3. Or you can run the Service management console (services.msc) and make sure that the Remote Procedure Call (RPC) and DCOM Server Process Launcher services are in the running state and configured to start automatically.
    the rpc server is unavailable. 0x800706ba (win32: 1722 rpc_s_server_unavailable)

    rpc server is unavailable 0x800706ba

Access to the remote computer over RPC ports may be blocked by firewalls (this is a very common reason). If there are no firewalls on your network, try temporarily disabling the firewall apps (including Windows Defender Firewall with Advanced Security) on the client and server-side and check the RPC connection. Additionally, for the RPC protocol to operate, you must check the availability of port TCP/135 (RPC Endpoint Mapper) on the remote computer side. The easiest way is to test for open/closed port is to use the following PowerShell command:

Test-NetConnection 192.168.1.14 -port 135

If the RPC service is enabled and access to it is not blocked, the TcpTestSucceeded line should contain True.

the rpc server is unavailable. (exception from hresult: 0x800706ba)

If port 135 (RPC Endpoint Mapper) is available, but the error “The RPC server is unavailable” is still present, you need to ensure that firewalls are not blocking communication on a dynamic RPC port range. The RPC Dynamic Ports is a TCP port range from 49152 to 65535, that must be open for RPC technology to work properly.

You can use a small command-line tool PortQry from Microsoft to get a list of RPC Dynamic ports via the RPC Mapper service. Use the following command to get the list of RPC endpoints from a remote Endpoint Mapper Database:

PortQry.exe -e 135 -n 192.168.1.201

get-wmiobject : the rpc server is unavailable. (exception from hresult: 0x800706ba)

In this case, 151 endpoints were found. Each RPC point has a dynamic TCP port number next to it that it is listening on. You can check the availability of the RPC port for the desired service using the PowerShell command:

Test-NetConnection 192.168.1.201 -port 49703

Many firewalls block RPC and SMB/NetBios (NetScreen) even if you have any-any rules enabled. In this case, you must specifically create a rule/policy to explicitly allow RPC dynamic ports.

Certificate Enrollment Error – 0x800706ba The RPC server is unavailable

If you are facing an error The RPC server is unavailable 0x800706ba when performing the automatic registration of a certificate on a domain controller or in a certification authority, you can find the following error event in the Event Viewer > Application log on the server:

Source: CertificateServicesClient-CertEnroll Event ID: 13
Certificate enrollment for Local system failed to enroll for a DomainController certificate with request ID N/A from ServerCA.contoso.com ServerCA (The RPC server is unavailable. 0x800706ba (WIN32: 1722))

Or:

Source: CertificateServicesClient-AutoEnrollment EventID: 6
Automatic certificate enrollment for local system failed (0x800706ba) The RPC server is unavailable.

0x800706ba rpc

When you trying to enroll the certificate you can see the following message:

An error occurred while enrolling for a certificate.
The certificate request could not be submitted to the certification authority.
The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)

rpc 0x800706ba

In this case, the domain controller or other client fails to enroll for certificates from CA.

This problem can have several solutions, but in most cases, the source of the problem is your computer is a member of the group DCOM access group (DCOM access to certificate service) or the incorrect permissions are issued. Follow the next steps:

  1. On the domain controller on which the certification service is deployed, you need to make sure there is an  Active Directory group CERTSVC_DCOM_ACCESS or Certificate Service DCOM Access;
  2. Add the following domain groups to the CERTSVC_DCOM_ACCESS/Certificate Service DCOM Access group: Domain Users, Domain Controllers, Domain Computers;
    an error occurred while enrolling for a certificate the rpc server is unavailable
  3. Update the DCOM security settings on the server with the CA role using the commands:
    certutil -setreg SetupStatus -SETUP_DCOM_SECURITY_UPDATED_FLAG
    
    net stop certsvc & net start certsvc
  4. On a server with the deployed CA, check the COM Security permissions. This group must have Remote Access and Remote Activation permissions allowed;
  5. After that, try to restart the computer and check the certificate enrollment.

If the above solution doesn’t work, use the nltest command to find out problems with netlogon calls to a domain controller:

Nltest /Server:dc01 /query

0x800706ba

Then check the Active Directory CA request interface responding:

Certutil -ping

the certificate request could not be submitted to the certification authority rpc server unavailable

Server “test-DC01-CA” ICertRequest2 interface is alive (62ms)

CertUtil: -ping command completed successfully.

If you receive the error “Server could not be reached: The RPC server is unavailable. 0x800706ba (WIN32: 1722)” from the non-domain joined computer, ensure that “Authenticated Users” group is added to the “Certificate Service DCOM Access” group on the CA server.

  • About
  • Latest Posts

I enjoy technology and developing websites. Since 2012 I’m running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.


RPC – это способ обмена информацией между процессами или между клиентом (устройством, инициирующем связь RPC) и сервером (устройством, которое с ним связывается) в сети или системе. Многие встроенные компоненты Windows используют RPC, который в качестве отправной точки для связи между системами применяет различные порты. При возникновении неполадок возникает сообщение «Сервер RPC недоступен».

Способы устранения ошибки «Сервер RPC недоступен»

Решение ошибки «Сервер RPC недоступен».

Причины появления ошибки

В типичном сеансе RPC клиент связывается с программой сопоставления конечных точек сервера по TCP-порту 135 и для указанной службы требует определённого номера динамического порта. Сервер отвечает, отправив IP-адрес и номер порта, для которого служба зарегистрирована в RPC после её запуска, а затем связывается с клиентом с указанным IP-адресом и номером порта. Возможные причины ошибки «Сервер RPC недоступен» следующие:

  1. Остановка службы RPC – когда служба RPC на сервере не запущена.
  2. Проблемы с разрешением имён – имя сервера RPC может быть связано с неправильным IP-адресом. Это значит, что клиент связывается с неправильным сервером или пытается связаться с IP-адресом, который в настоящее время не используется. Возможно, имя сервера не распознаётся вообще.
  3. Трафик заблокирован брандмауэром – брандмауэр или другое приложение безопасности на сервере или брандмауэр устройства между клиентом и сервером могут препятствовать доступу трафика к TCP-порту сервера 135.
  4. Проблемы с подключением – проблема с сетью может быть причиной отсутствия соединения между клиентом и сервером.

Ошибка «Сервер RPC недоступен»

Способы решения

При запуске или установке некоторых программ вы можете получить сообщение «Сервер RPC недоступен». Это часто связано с синхронизацией времени, необходимой для запуска программы. Без этого некоторые приложения могут работать неправильно или не запускаться вообще. Что делать, чтобы сообщение больше не появлялось, рассмотрим далее.

Код ошибки 1722

Ошибка 1722 «Сервер PRC недоступен» может возникать при использовании сетевого принтера или звуковых устройств в седьмой версии Windows. Причиной может быть антивирусная программа, блокирующая коммуникационные порты – для её устранения нужно найти параметры управления доверенными программами в настройках антивируса.

Ошибка 1722 «Сервер PRC недоступен»

Также ошибка может возникнуть из-за того, что в системе присутствует сам вирус – стоит проверить систему и диск с помощью другой антивирусной программы, чем в настоящее время. Для устранения нажмите Пуск/Настройки/Панель управления. Затем откройте Администрирование/Службы. Появится окно, в котором с правой стороны вы найдете «Сервер». На «Сервере» проверьте, включён ли автоматический тип запуска. Измените параметр при необходимости и перезагрузите компьютер.

Устранение ошибка 1722

Отключение брандмауэра Windows

Если при печати в Windows 7 появляется ошибка «Сервер RPC недоступен», проблема может крыться в брандмауэре. Он отвечает за блокировку доступа к компьютеру во внутренней или внешней сети посторонними лицами или приложениями, что исключает возможность контроля ПК. Ниже приведены некоторые советы, которые позволят вам отключить (в случае, если вы хотите использовать для этого другое приложение) и включить интегрированный брандмауэр Windows. Измените имя компьютера с помощью «Настроек»:

  1. Это один из самых простых способов отключения сетевого брандмауэра. Для этого используйте вкладку «Параметры системы».
  2. Из списка доступных опций выберите «Сеть и Интернет».
  3. Перейдите на вкладку Ethernet и выберите «Брандмауэр Windows» с правой стороны окна.
  4. Выберите включение и отключение брандмауэра.
  5. В списке доступных операций выберите параметр «Отключить брандмауэр Windows» (не рекомендуется).
  6. Нажмите «ОК». Брандмауэр выключен.

Отключить брандмауэр Windows

Следующий способ – редактор локальной групповой политики (GPO):

  1. Нажмите клавиши Win + R и введите «gpedit.msc». Откроется редактор локальной групповой политики.
  2. Параметр, ответственный за отключение брандмауэра, расположен по адресу

«Конфигурация компьютера» – «Административные шаблоны» – «Сеть» – «Сетевые подключения» – «Стандартный профиль» – «Брандмауэр Windows: защита всех сетевых подключений».

  1. Измените состояние настройки на «ВЫКЛ».
  2. После нажатия кнопки «ОК» или «Применить» брандмауэр Windows перестанет работать.

Вызов редактора локальной групповой политики

Для более опытных пользователей вышеупомянутый сценарий можно выполнить с помощью редактора реестра.

  • нажмите пуск и введите «regedit», запустите приложение от имени администратора;
  • в окне редактора найдите каталог

HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyDomainProfile;

  • найдите параметр EnableFirewall и измените его значение с 1 на 0;
  • таким же образом отредактируйте ключ EnableFirewall в следующем каталоге

HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyPublicProfile;

  • и последний каталог с ключом EnableFirewall

HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyStandardProfile.

Закройте редактор реестра и перезагрузите компьютер. С этого момента брандмауэр Windows отключается. Чтобы снова возобновить брандмауэр с помощью редактора реестра, просто измените указанные выше значения с названием EnableFirewall с 0 на 1, и перезапустите компьютер.

Ручной запуск задачи services.msc

При запуске или установке некоторых программ вы можете получить сообщение «Сервер RPC недоступен». Это часто связано с синхронизацией времени, необходимой для запуска программы. Без этого некоторые приложения могут работать неправильно или не запускаться вообще. При недоступности функции может произойти сбой, для исправления необходимо включить службу синхронизации:

  • сначала нажмите меню «Пуск» и в строке поиска введите «Выполнить», нажмите «Enter»;
  • в следующем окне введите services.msc и подтвердите кнопкой «OK»;
  • найдите в списке элемент «Служба времени Windows»;
  • дважды щёлкните эту службу. Откроется меню, в котором вы должны нажать кнопку «Выполнить».

Служба времени Windows

С этого момента сообщение «RPC-сервер недоступен» появляться не должно.

Устранение неполадок Windows

Исправить ошибку в Windows 10 поможет встроенное средство устранения неполадок системы. Перезагрузите компьютер и после подачи звукового сигнала нажимайте кнопку F8 раз в секунду, пока не откроется меню выбора вариантов загрузки. Первым из них будет «Устранение неполадок компьютера». Выберите это действие и дождитесь окончания операции.

Ошибка в FineReader

Проблема может возникать в Windows 8 и выше и при попытке запуска службы ABBYY FineReader Licensing Service. Для проверки состояния в списке служб (как его найти, описано выше) выберите ABBYY FineReader Licensing Service. В окне свойств убедитесь, что параметр «Тип запуска» установлен на «Автоматический». При необходимости измените его, закройте редактор кнопкой «ОК» и перезагрузите компьютер.

ABBYY FineReader Licensing Service

Проверка на вирусы

В Windows XP и выше сообщение о неисправности может быть вызвано наличием вируса. Просканируйте свой ПК с помощью антивирусной программы, следуя указаниям мастера. В Windows 10 можно воспользоваться стандартным «Защитником». Для этого нажмите правой кнопкой мыши на значок «Щит» возле часов и выберите «Открыть». Запустите проверку на вирусы нажатием соответствующей кнопки в окне.

Защитник Windows 10

Как видите, избавиться от ошибки можно многими способами. В этом списке представлены наиболее вероятные варианты исправления ошибки. При необходимости придётся переустановить операционную систему, воспользовавшись установочным диском.

The RPC server is unavailable” error appears on Windows when a communication error occurs between two computers in a network. Your computer (an RPC client) cannot connect to a remote computer (an RPC server). So, the program you are running doesn’t work and returns an RPC error because it cannot access data on the remote host. In this article we’ll analyze common problems that may prevent normal communication of computers over a network using the RPC protocol.

The RPC Server is Unavailable Error on Windows

RPC (Remote Process Call) is a popular protocol for client-server apps to communicate over a local network. Typically, it is used to communicate with a remote computer, however, some programs use RPC in the interactions between an app and a service run locally.

In a typical session, an RPC client connects to the RPC Endpoint Mapper service on an RPC server over TCP Port 135 and requests the port number the RPC app (service) it needs is running on. The RPC Endpoint Mapper returns the number of the dynamic RPC port assigned to the specified service when it was started. Then the RPC client connects to the RPC app service on the specified TCP port.

If an RPC client was unable to connect to an RPC server, the following error appears in the app:

The RPC server is unavailable

Modern Windows versions (Windows Vista/2008 and newer) use the Dynamic RPC Port range from 49152 to 65535. Windows Server 2003/XP/2000 used a different RPC port range – 1024 – 65535.

Here are the most common problems that prevent computers from communicating over RPC:

  1. A remote computer is turned off;
  2. RPC services are not running on the remote host;
  3. You are trying to connect to an RPC server using the wrong hostname (or a wrong IP address matches the server DNS name);
  4. Incorrect network connection settings are used on the server or client;
  5. RPC traffic between client and server is blocked by the firewall.

Checking Remote Computer Availability

Make sure that the remote computer is turned on, ping it by its name and IP address. If the RPC server is not available by the hostname, check if DNS records are correct and try to flush the DNS cache on the client: ipconfig /flushdns.

If the name of the computer your RPC server is running on has been changed recently, try to re-register it in Active Directory DNS: ipconfig /registerdns.

Check the Status of DCE/RPC Services

Make sure that the services processing incoming RPC connections are running on the server:

  1. Open the Service Management console (services.msc);
  2. Make sure that the following services are running and configured to start automatically: Remote Procedure Call (RPC), RPC Endpoint Mapper and DCOM Server Process Launcher.

If RPC services are stopped and you cannot start them, try to activate them through the registry. Find the registry key of the services and change the value of the Start parameter to 2 (automatic service startup):

  • Remote Procedure Call (RPC) — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
  • RPC Endpoint Mapper — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
  • DCOM Server Process Launcher — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch

enable rpc services in registry

Firewall is Blocking RPC Connections

Make sure that the RPC traffic between computers is not blocked by your firewall. If you are using Windows Defender Firewall with Advanced Security, you need to create the rules allowing RPC traffic or make sure that they exist. One of the rules is to allow access to the RPC Endpoint Mapper service over port TCP 135, another one is to allow access to the RPC service you want to use through the RPC Dynamic Ports. Create the rules for all network profiles: Domain, Private and Public.

Make sure that port TCP/135 is available on your RPC server from a client (the RPC Endpoint Mapper must listen on it). You can check the port availability via PowerShell:

Test-NetConnection 192.168.1.201 -port 135

If the RPC port is available, you will see the message: TcpTestSucceeded:True.

You can get a list of RPC endpoints (services and applications) registered on the remote computer and advertised by the RPC Endpoint Mapper service using the PortQry tool:

portqry -n 192.168.1.201 -p tcp -e 135

In the PortQry output, you can see the number of the port assigned to the RPC service you want to use (is it running?) and make sure that the port is not blocked from the client.

If you are using a third-party firewall/antivirus software, make sure that it doesn’t block RPC traffic and can correctly process the RPC Dynamic Ports traffic.

Check Network Protocols & Settings

Make sure that the network settings on your computer are correct: the IP address, default gateway, subnet mask, DNS server settings (you can check the network settings from PowerShell). Make sure that Internet Protocol Version 6 (TCP/IPv6) and File and Printer Sharing for Microsoft Networks are enabled in the settings of the network adapter.

rpc errors when disabling IPv6

Some network apps don’t work correctly if the TCP/IPv6 protocol is disabled and return the error: 1722 The RPC server is unavailable. If the RPC error persists after enabling IPv6, try to disable the Teredo protocol through the registry:
Create a DWORD parameter with the name DisabledComponents and value 8 in the reg key HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters:
reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 8

In some cases, you will have to get the traffic dump from your RPC server and analyze it using Microsoft Network Monitor 3.4 or Message Analyzer.

Содержание

  • Методы устранения ошибки «Сервер RPC недоступен»
    • Способ 1: Службы Windows
    • Способ 2: Проверка системных файлов
    • Способ 3: Деактивация брандмауэра
    • Способ 4: Поиск вирусов
  • Вопросы и ответы

Ошибка «Сервер RPC недоступен» на Windows 10

В процессе работы операционной системы Windows происходит регулярный обмен пакетами и данными между программными компонентами. Иногда подобные процедуры становятся причиной различных ошибок. Из данной статьи вы узнаете о методах исправления ошибки «Сервер RPC недоступен» на устройствах под управлением Windows 10.

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

Пример ошибки Сервер RPC недоступен в Windows 10

Способ 1: Службы Windows

Самой распространенной причиной появления ошибки «Сервер RPC недоступен» является сбой в одноименной службе. Именно поэтому в первую очередь стоит убедиться в ее работоспособности. Для этого сделайте следующее:

  1. Нажмите на «Панели задач» правой кнопкой мышки. Из контекстного меню выберите строку «Диспетчер задач».
    Запуск Диспетчера задач через Панель задач в Windows 10

    Читайте также: 3 способа открыть Диспетчер задач на Windows

  2. Далее перейдите в открывшемся окне во вкладку «Службы». В самом ее низу нажмите на строку «Открыть службы».
  3. Запуск утилиты Службы через Диспетчер задач в Windows 10

  4. На экране появится перечень всех служб, установленных на вашем компьютере. Отыщите среди них ту, которая называется «Локатор удаленного вызова процедур (RPC)». Кликните по ней два раза левой кнопкой мышки.
  5. Выбор службы Локатор удаленного вызова процедур (RPC) в Windows 10

  6. Убедитесь в том, что напротив строки «Тип запуска» стоит значение «Вручную». При этом напротив пункта «Состояние» должна быть надпись «Остановлена». Если это не так, выберите из выпадающего меню соответствующий тип запуска и деактивируйте службу, нажав на кнопку «Остановить». После этого нажмите кнопку «OK» для сохранения изменений.
  7. Настройка службы Локатор удаленного вызова процедур (RPC) в Windows 10

  8. Вернитесь к списку служб и аналогичным образом откройте окно управления «Удаленным вызовом процедур (RPC)».
  9. Выбор службы Удаленный вызов процедур (RPC) в Windows 10

  10. В данном случае в строке «Тип запуска» должно стоять значение «Автоматически», а сама служба активирована. Если у вас по каким-то причинам это не так, нажмите кнопку «Запустить» и установите нужный тип запуска. Не забудьте нажать «OK» после внесения изменений.
  11. Настройка службы Удаленный вызов процедур (RPC) в Windows 10

  12. Аналогичным образом проверьте службы «Сервер», «Средство построения конечных точек Windows Audio», «Удаленный реестр» и «Питание». Все они также должны иметь автоматический типа запуска и быть активированными. Если у вас ошибка «Сервер RPC недоступен» сопровождается кодом 1722, таким же образом активируйте службы «Диспетчер печати» и «Модуль запуска процессов DCOM-сервера».
  13. Настройка служб для устранения ошибки Сервер RPC недоступен в Windows 10

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

Способ 2: Проверка системных файлов

Для корректной работы удаленного вызова процедур (именно так расшифровывается RPC) необходимы специальные системные файлы. Если они отсутствуют или повреждены, может возникать описываемая ошибка. Следовательно, для решения необходимо выполнить их проверку и восстановление.

  1. Запустите «Командную строку» от имени администратора. Для этого нажмите вместе клавиши «Windows» и «R», введите в открывшееся окно команду cmd, а затем зажав «Ctrl» и «Shift», нажмите на клавиатуре «Enter».
    Запуск Командной строки в ОС Windows 10 от имени администратора

    Читайте также: Запуск «Командной строки» от имени администратора в Windows 10

  2. Далее нужно ввести в окно «Командной строки» по очереди две следующие команды, нажимая после каждой из них «Enter»:

    DISM.exe /Online /Cleanup-image /Restorehealth
    sfc /scannow

  3. Ввод команд для проверки целостности системных файлов Windows 10

    Lumpics.ru

  4. Начнется автоматическое сканирование и восстановление всех системных файлов. Процедура длится весьма долго, имейте это ввиду. Дождитесь окончания проверки и закройте «Командную строку». После этого повторите действия, которые приводили к ошибке «Сервер RPC недоступен».

Способ 3: Деактивация брандмауэра

По умолчанию во всех редакциях Windows 10 есть встроенный файервол. Его цель – защитить вас от вредоносного влияния вирусов. Однако бывает и так, что этот самый брандмауэр блокирует нужные пакеты, тем самым вызывая различные ошибки, и случай с проблемой «Сервер RPC недоступен» не исключение. Именно поэтому стоит попробовать отключить защитник на время. Делается это очень просто:

  1. В трее кликните два раза ЛКМ по иконке «Защитника Windows».
  2. Запуск Защитника Windows 10 через командную строку

  3. В левой части открывшегося окна перейдите в раздел «Брандмауэр и безопасность сети».
  4. Переход в раздел Брандмауэр и безопасность сети в Защитнике Windows 10

  5. Далее кликните по названию той сети, напротив которой у вас присутствует слово «Активный». В нашем случае это «Общедоступная сеть».
  6. Выбор активной сети в брандмауэре Windows 10

  7. Для выключения брандмауэра установите переключатель в состояние «Откл».
  8. Отключение фаервола в Windows 10 через системный антивирус

  9. Теперь остается лишь проверить, помогло это или нет. Самое главное – не забудьте вновь включить защиту, так как в противном случае ваша кибербезопасность будет под угрозой.

Способ 4: Поиск вирусов

Заражение системы вирусами влечет за собой много негативных последствий. Одним из них может быть появление ошибки «Сервер RPC недоступен». Поэтому одним из комплексных решений в данном случае является поиск и устранение вредоносного ПО. Делать это мы рекомендуем с помощью специального портативного софта, так как современные вирусы достаточно «умны» для того, чтобы заразить даже антивирус. Результат поиска в подобных ситуациях будет отрицательным. О самых эффективных портативных антивирусных решениях мы рассказывали ранее в отдельной статье, с которой и советуем ознакомиться.

Проверка операционной системы на наличие вирусов портативным софтом

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

В качестве заключения мы хотели бы напомнить вам о необходимости своевременной установки обновлений Windows 10. Дело в том, что в более ранних версиях операционной системы ошибку «Сервер RPC недоступен» иногда удавалось устранить путем инсталляции определенного патча. Однако в последней версии ОС от этого отказались в пользу накопительных обновлений. О том, как правильно проверить наличие обновлений и инсталлировать их, читайте по ссылке ниже.

Подробнее: Установка обновлений Windows 10

Еще статьи по данной теме:

Помогла ли Вам статья?

Понравилась статья? Поделить с друзьями:
  • Сервер пересылки dns windows server 2016
  • Секреты windows vista ливингстон брайан туррот поль
  • Сервер rpc недоступен windows server 2016
  • Сервер пак 1 для windows 7 32 bit скачать
  • Секретный метод ускорения загрузки windows загрузка windows за 6 сек