При подключении к удаленному компьютеру или виртуальной машине, некоторым сетевым устройствам, а также при установке и работе прикладных программ, использующих клиент-серверную архитектуру (в том числе на единственном локальном компьютере) пользователь может получить сообщение об ошибке «Сервер RPC недоступен» (RPC server is unavailable).
В этой инструкции подробно о способах исправить ошибку «Сервер RPC недоступен» в Windows 11 и Windows 10 с фокусом прежде всего на домашнего пользователя, но многие решения универсальны и подойдут для других сценариев.
Службы RPC и связанные с ними службы
Первое что следует проверить при ошибке — работу и тип запуска служб, необходимых для правильной работы протокола удаленного вызова процедур RPC. Некоторые из представленного списка — необходимые, некоторые — опциональны, но в некоторых случаях также способны приводить к ошибке «Сервер RPC недоступен».
- Откройте «Службы Windows», для этого можно нажать клавиши Win+R на клавиатуре (или нажать правой кнопкой мыши по кнопке «Пуск» и выбрать пункт «Выполнить», ввести services.msc и нажать Enter.
- Найдите службы из списка, который приведен ниже после 5-го пункта, убедитесь, что они выполняются, а тип запуска задан верно.
- Если это не так, дважды нажмите мышью по такой службе, измените тип запуска службы и примените настройки.
- Если ошибка RPC возникает при подключении к удаленному компьютеру или виртуальной машине, убедитесь, что и на нем службы настроены правильно.
- После изменения параметров запуска служб, перезагрузите компьютер.
Список служб в формате: Название службы на русском языке (название на английском) — тип запуска по умолчанию:
- Инструментарий управления Windows (Windows Management Instrumentation) — Автоматически
- Локатор удаленного вызова процедур RPC (Remote Procedure Call RPC Locator) — Вручную, можно попробовать поставить «Автоматически».
- Модуль запуска процессов DCOM-сервера (DCOM Server Process Launcher) — Автоматически
- Служба времени Windows (Windows Time service) — Автоматически
- Сопоставитель конечных точек RPC (RPC Endpoint Mapper) — Автоматически
- Удаленный вызов процедур RPC (Remote Procedure Call RPC) — Автоматически
Если для отдельных служб тип запуска выставлен неверно, при этом изменить его в интерфейсе управления службами невозможно, можно использовать редактор реестра.
Для этого: запустите редактор реестра (Win+R — regedit) и перейдите к разделу реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\
В этом разделе реестра измените значение параметра Start на 2 (дважды нажав по параметру и задав новое значение) в следующих подразделах:
- DcomLaunch
- RpcEptMapper
- RpcLocator
- RpcSs
- W32Time
- Winmgmt
Часть параметров могут не изменяться и в реестре, в этой ситуации может помочь изменение прав доступа к разделам реестра.
В справке на официальном сайте Майкрософт приводится ещё две службы, которые могут вызывать ошибку «Сервер RPC недоступен» при входе в Windows :
- Модуль поддержки NetBIOS через TCP/IP (TCP/IP NetBIOS Helper)
- Удаленный реестр (Remote registry)
Протокол IPv6 и общий доступ к файлам и принтерам
Отключенная поддержка IP версии 6 и «Общий доступ к файлами и принтерам для сетей Майкрософт» также могут приводить к сбоям доступа к серверу RPC. Проверьте, включены ли они и, если нет — включите:
- Нажмите клавиши Win+R на клавиатуре, введите ncpa.cpl и нажмите Enter.
- Нажмите правой кнопкой мыши по сетевому подключению и откройте его свойства.
- Отметьте пункты «Общий доступ к файлами и принтерам для сетей Майкрософт» и «IP версии 6» и примените настройки.
Брандмауэр Windows
В части настроек брандмауэра Windows при ошибке доступа к серверу RPC, в зависимости от сценария проблемы возможны разные решения.
Первый вариант:
- В Панели управления (открыть её можно, используя поиск в панели задач) откройте пункт «Брандмауэр Защитника Windows»
- В панели слева нажмите «Разрешение взаимодействия с приложениями или компонентами брандмауэра Защитника Windows».
- Нажмите кнопку «Изменить параметры» и разрешите взаимодействие для «Удаленный помощник».
Если предыдущий метод не помог, попробуйте:
- Открыть порт 135 на локальной и удаленной машине. Подробнее: Как открыть порты в Windows.
- Полностью отключить брандмауэр Windows (возможно, временно, чтобы выяснить, является ли его работа причиной ошибки)
Дополнительные методы решения проблемы
Если предыдущие варианты не помогли, при этом вы уверены, что на сервере (при удаленном подключении к собственным ресурсам или серверам, которые использует ваше ПО) проблем нет, попробуйте следующие варианты решения проблемы:
- Используйте команды в командной строке, запущенной от имени Администратора
ipconfig /flushdns ipconfig /renew
- Если используется профиль сети «Общественная» (Общедоступная), попробуйте переключить её на «Частная» — Как изменить тип сети в Windows 11 и в Windows 10.
- Если вам известен IP-адрес сервера, к которому выполняется подключение, проверьте, доступен ли порт 135 на нем с помощью команды PowerShell (заменив IP-адрес на нужный), при успехе в пункте TcpTestSucceeded должен быть статус «True»
Test-NetConnection 192.168.1.1 -port 135
- При наличии сторонних антивирусов или файрволлов, попробуйте отключить их, или отключить только функции защиты в сети.
- При использовании VPN-сервисов, попробуйте отключить их.
- Попробуйте отключить протокол teredo для IPv6 с помощью команды
netsh interface teredo set state disabled
Чтобы в дальнейшем включить его обратно используйте команду
netsh interface teredo set state enabled
- Учитывайте: если ошибка «Сервер RPC недоступен» возникает при запуске, установке или работе какого-либо прикладного ПО, полученного и модифицированного неофициальными методами, причина может быть в целенаправленной блокировке доступа к серверам лицензирования или иным.
- Проверьте компьютер на наличие вирусов и вредоносных программ, блокировок доступа к сайтам в файле hosts.
Ошибка “
Сервер RPC недоступен
” (
The RPC server is unavailable
) появляется в Windows при ошибке коммуникации между двумя компьютерами по сети, когда компьютер (клиент RPC) не может подключиться к удаленному компьютеру (сервер RPC). В результате программа, которую вы запустили, не работает и возвращает ошибку, т.к. не можете получить данные с удаленного сервера. В этой статье мы разберем наиболее частые проблемы, которые могут препятствовать нормальному взаимодействию компьютеров через сеть по протоколу RPC.
Протокол 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 взаимодействие между компьютерами:
- Удаленный компьютер выключен;
- Не запущены службы RPC на сервере;
- Вы пытаетесь подключиться к RPC серверу по неправильному имени (или как вариант, DNS имени сервера соответствует неверный IP адрес);
- Используются некорректные настройки сетевого подключение на клиенте или сервере;
- RPC трафик между клиентом и сервером блокируется файерволом;
Проверка доступности удаленного компьютера
Убедитесь, что удаленный компьютер включен, отвечает на ping по имени и IP адресу. Если RPC сервер не доступен по имени, проверьте корректность DNS записей и попробуйте сбросить DNS кэш на клиенте:
ipconfig /flushdns
.
Если имя компьютера, на котором запущен RPC-сервер недавно изменилось, попробуйте перерегистрировать его в DNS Active Directory:
ipconfig /registerdns
Проверка служб RPC
Проверьте, что на сервере запущены службы, которые необходимы для обработки входящих RPC подключений:
- Откройте консоль управления службами (services.msc);
- Убедитесь, что следующие службы запущены (статус Running), а тип их запуска – автоматический: Remote Procedure Call (RPC), RPC Endpoint Mapper и DCOM Server Process Launcher;
Если RPC службы отключены и не запускаются, попробуйте активировать их через реестр. Найдите ветки этих служб в реестре и измените значение параметра Start на 2 (автоматический запуск службы):
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RpcSs
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RpcEptMapper
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DcomLaunch
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
Если 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
Некоторые сетевые приложения некорректно работают при отключенном протоколе TCP/IPv6, возвращая ошибку:
1722 The RPC server is unavailable
. Если после включения ipv6 ошибка RPC сохраняется, попробуйте отключить протокол Teredo через реестр:
Создайте в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters параметр типа DWORD с именем DisabledComponents и значением 8:
reg add hklm\system\currentcontrolset\services\tcpip6\parameters /v DisabledComponents /t REG_DWORD /d 8
В некоторых случаях приходится получаить дамп трафика на RPC сервера и анализирвать его с помощью Microsoft Network Monitor 3.4 или Message Analyzer.
Ошибка «Сервер RPC недоступен» указывает на проблемы с протоколом удаленного вызова процедур (RPC), который отвечает за обмен данными между различными приложениями и службами Windows. Эта ошибка может проявляться при использовании сетевых приложений, подключении к удалённым устройствам или работе с системными службами. Рассказываем о том, как решить данную проблему.
RPC (Remote Procedure Call) — это технология, обеспечивающая взаимодействие между программами, работающими на одном или нескольких компьютерах. Она позволяет передавать данные между клиентом и сервером, не требуя от пользователя понимания сетевых технологий.
Источник: Itrelease / Протокол RPC
Протокол широко используется в Windows для управления сетевыми соединениями, обмена данными и взаимодействия между службами. Если RPC не функционирует, это может привести к сбоям в работе системы и приложений.
Основные причины ошибки «Сервер RPC недоступен»
Ошибка «Сервер RPC недоступен» возникает из-за сбоев в работе протокола RPC, который отвечает за взаимодействие между службами и приложениями в Windows. Основной причиной может быть отключение или неправильная настройка ключевых служб, таких как «Удалённый вызов процедур (RPC)», «Сопоставитель конечных точек RPC» и «Модуль запуска процессов DCOM-сервера».
Часто проблема связана с блокировкой трафика RPC брандмауэром или антивирусом. Для нормальной работы протокола должны быть открыты порты 135 и диапазон 1024–65535. Если эти соединения заблокированы, система не сможет обмениваться данными.
Источник: Pinterest / Ошибка RPC
Некорректные сетевые настройки, включая проблемы с DNS, отключение протоколов IPv4 или IPv6, также могут вызвать сбой. Это особенно актуально в сетях, где DNS обеспечивает связь между устройствами. Кроме того, вредоносное ПО может нарушать работу RPC, блокируя службы или изменяя параметры сети.
Повреждённые системные файлы или неправильные настройки реестра также являются частыми причинами ошибки. Если значения в реестре, связанные с RPC, изменены или удалены, службы могут стать недоступными, что приводит к сбою.
Как устранить ошибку «Сервер RPC недоступен»
Чтобы исправить ошибку «Сервер RPC недоступен», важно определить её причину и следовать пошаговому руководству. Начните с проверки работы ключевых служб и сетевых настроек, затем переходите к исправлению системных параметров и устранению возможных блокировок. Все действия описаны подробно, чтобы вы могли быстро восстановить работоспособность системы.
Проверка работы служб
Чтобы RPC функционировал корректно, в системе должны быть включены определённые службы. Для этого:
- Нажмите Win + R, введите services.msc и нажмите Enter;
-
В списке служб найдите:
- «Удалённый вызов процедур (RPC)»;
- «Сопоставитель конечных точек RPC»;
- «Модуль запуска процессов DCOM-сервера»;
- Убедитесь, что состояние всех этих служб указано как «Выполняется». Если какая-либо служба остановлена, нажмите на неё правой кнопкой мыши и выберите «Запустить»;
- Проверьте тип запуска. Для всех перечисленных служб он должен быть установлен на «Автоматически». Для изменения нажмите правой кнопкой мыши, выберите «Свойства» и укажите нужный тип запуска.
Источник: CQ / Службы
Если после выполнения этих действий проблема сохраняется, переходите к следующему способу.
Отключение брандмауэра
Брандмауэр Windows и сторонние антивирусы могут блокировать RPC-трафик. Чтобы это проверить:
- Откройте «Панель управления» и перейдите в раздел «Система и безопасность»;
- Зайдите в настройки «Брандмауэра Windows»;
- В левом меню выберите «Включение и отключение брандмауэра Windows»;
- Временно отключите брандмауэр для всех типов сетей.
Источник: CQ / Отключение брандмауэра
После отключения попробуйте выполнить задачу, вызывавшую ошибку. Если проблема исчезла, настройте брандмауэр, добавив службы RPC в список исключений. Для этого:
- Зайдите в «Дополнительные параметры» брандмауэра;
- Создайте новое правило для входящих соединений и укажите порты 135, 1024–65535, которые используются RPC.
Проверка сетевых настроек
Некорректные параметры сети — ещё одна частая причина сбоя RPC. Для исправления:
- Нажмите Win + R, введите ncpa.cpl и нажмите Enter;
- В окне сетевых подключений выберите активное соединение, нажмите правой кнопкой мыши и откройте «Свойства»;
-
Убедитесь, что включены компоненты:
- «Протокол интернета версии 4 (TCP/IPv4)»;
- «Протокол интернета версии 6 (TCP/IPv6)»;
- «Общий доступ к файлам и принтерам для сетей Microsoft»;
- Нажмите «ОК» для сохранения изменений.
Источник: CQ / Сетевые настройки
Если проблема связана с DNS, выполните очистку и обновление кэша командой в командной строке:
- ipconfig /flushdns — очистка кэша DNS;
- ipconfig /registerdns — регистрация DNS-записей.
Сканирование системы на вирусы
Вредоносное ПО может нарушить работу RPC, блокируя службы или модифицируя параметры сети. Используйте современное антивирусное ПО, например Dr.Web или «Лабораторию Касперского», для полной проверки системы. Убедитесь, что базы данных антивируса обновлены, чтобы обнаруживать самые актуальные угрозы.
Восстановление системных файлов
Если системные файлы повреждены, их можно восстановить с помощью встроенных инструментов Windows. Для этого:
- Запустите командную строку от имени администратора;
- Выполните команду sfc /scannow. Этот инструмент проверит целостность файлов и восстановит их при необходимости;
- Для восстановления образа Windows выполните команду DISM /Online /Cleanup-Image /RestoreHealth.
Источник: CQ / Проверка системы
Эти действия помогут устранить сбои, связанные с повреждением системных компонентов.
Редактирование реестра
Если службы RPC не запускаются, проблема может быть в неправильных настройках реестра. Для исправления:
- Нажмите Win + R, введите regedit и нажмите Enter;
-
Перейдите в разделы:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs;
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcEptMapper;
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DcomLaunch;
- Убедитесь, что параметр Start имеет значение «2» (автоматический запуск).
Источник: CQ / Измение реестра
Будьте осторожны, редактируя реестр, так как некорректные изменения могут вызвать серьёзные проблемы.
Сброс системы
Если ничего не помогает, выполните сброс системы до заводских настроек. Это позволит устранить глубокие сбои. Для этого:
- Зайдите в «Параметры» Windows;
- Перейдите в раздел «Обновление и безопасность» → «Восстановление»;
- Нажмите «Начать» в разделе «Сбросить этот компьютер».
Заглавное фото: Wallpaperscraft
Читайте также:
- Как выполнить дефрагментацию диска в Windows 10
- Для чего нужен порт RDP в Windows
- Как исправить ошибку 0x80070570 в Windows
- Windows 10 LTSB — что это такое и где скачать
- Windows Boot Manager — что это такое и как отключить
Обмен данными между компьютерами в сети всегда выполняется согласно определенным процедурам – наборам правил, именуемым протоколами. Одним из таких протоколов является Remote Process Call, сокращенно RPC, отвечающий за взаимодействие приложений, установленных на клиентском и серверном компьютерах. Протокол RPC может использоваться самым разными программами и службами, причем не только в рамках взаимодействия между двумя физическими компьютерами.
При подключении клиент обращается к службе сопоставления конечных точек на сервере по TCP-порту 135 и запрашивает номер порта, на котором работает нужное ему приложение. Служба сопоставления конечных точек передает клиенту номер назначенного затребованному приложению порта, после чего по полученному порту TCP между клиентом и сервером начинается обмен данными. Если клиент не смог подключиться к серверу, в приложении появится ошибка «Сервер RPC недоступен».
Первое, что рекомендуется проверить при получении ошибки «Сервер RPC недоступен» — это статус перечисленных ниже служб на клиентском и серверном ПК. Откройте командой services.msc оснастку управления службами и проверьте эти службы:
1. Удаленный вызов процедур (RpcSs). Самая главная служба, она должна быт запущена и иметь тип запуска «Автоматически».
2. Инструментарий управления Windows (winmgmt). Должна быть запущена и иметь тип запуска «Автоматически».
3. Локатор удаленного вызова процедур RPC (RpcLocator). По умолчанию имеет тип запуска «Вручную», но можно попробовать перевести ее в автоматический режим.
4. Модуль запуска процессов DCOM-сервера (DcomLaunch). Запущена, автоматический тип запуска.
5. Служба времени Windows (W32Time). Запущена, автоматический тип запуска.
6. Сопоставитель конечных точек RPC (RpcEptMapper). Запущена, автоматический тип запуска.
Если настройки какой-то из этих служб отличаются, выставьте их так, как показано выше. Если вдруг настройки в свойствах той или иной службы окажутся неактивными, воспользуйтесь редактором реестра. Запустите оный командой regedit, разверните ветку HKLM\SYSTEM\CurrentControlSet\services и установите 2 в качестве значения параметра Start в подразделах RpcSs, Winmgmt, RpcLocator, DcomLaunch, W32Time и RpcEptMapper.
Примечание: так как для редактирования некоторых ключей реестра могут понадобиться системные привилегии, рекомендуем запускать редактор реестра с помощью утилиты ExecTI, предназначенной для предоставления штатным и сторонним программам прав TrustedInstaller.
Дополнительно можно проверить состояние служб «Модуль поддержки NetBIOS через TCP/IP» и «Удаленный реестр». Запустите их, если они остановлены.
На следующем этапе диагностики рекомендуем проверить сетевые настройки, в частности статус протокола IPv6. Откройте командой ncpa.cpl сетевые подключения, затем откройте свойства вашего сетевого адаптера и отыщите в списке пункт «IP версии 6 (TCP/IPv6)». Включите его, если отключен. То же самое касается опции «Общий доступ к файлам и принтерам для сетей microsoft».
Также зайдите на обоих компьютерах в раздел настроек «Дополнительные параметры общего доступа» и убедитесь, что сетевое обнаружение и общий доступ к файлам и принтерам для используемого сетевого профиля включены.
Попасть в раздел можно из Центра управления общим доступом или выполнив в окошке Win + R быструю команду control.exe /name Microsoft.NetworkAndSharingCenter /page Advanced. В этом же окне раскройте раздел «Все сети», активируйте опцию «Все сети» и отключите парольную защиту.
Далее следует убедиться, что на клиентском и серверном ПК не заблокирован используемый протоколом RPC порт 135. Проще всего это сделать, выполнив в запущенной от имени администратора команду netstat -ano | find «135». Если порт 135 открыт, появится запись с информацией о текущем соединении, в противном случае ничего не отобразится.
Если порт закрыт, откройте его, создав в брандмауэре два правила для входящих и исходящих соединений этими командами:
netsh advfirewall firewall add rule name=»Открытие порта 135.входящие» dir=in action=allow protocol=TCP localport=135
netsh advfirewall firewall add rule name=»Открытие порта 135.исходящие» dir=out action=allow protocol=TCP localport=135
Заодно проверяем, разрешено ли в брандмауэре взаимодействие с удаленным помощником. Для этого в окне брандмауэра жмем «Разрешение взаимодействия с приложением или компонентом в брандмауэре Защитника Windows» и смотрим, установлен ли флажок в чекбоксе «Удаленный помощник». Если нет, жмем кнопку «Изменить параметры», активируем опцию и сохраняем настройки.
Если проблема не была решена, обратите внимание на следующие моменты.
• Отключите VPN и ли прокси, если таковые используются.
• В случае использования сторонних антивирусов и особенно брандмауэров попробуйте их отключить.
• Проверьте файл HOSTS на предмет блокировок IP-адресов.
• Если используется тип сети «Общественная», измените ее на «Частную».
• Отключите на время сетевой протокол teredo, выполнив в консоли команду netsh interface teredo set state disabled (для повторного включения замените ключ disabled на enabled).
Наконец, можно сбросить сетевые настройки из раздела «Сеть и Интернет» приложения «Параметры» на тот случай, если неполадка подключения была обусловлена их сбоем.