- Ошибка “Сервер RPC недоступен” в Windows 10 /Windows Server 2016
- Проверка доступности удаленного компьютера
- Проверка служб RPC
- RPC блокируется файерволом (брандмауэром)
- Проверка сетевых протоколов и настроек
- Сервер RPC недоступен в Windows 10 — Как исправить?
- 1. Проверка служб RPC
- 2. Удаленный помощник в брандмауэре
- 3. Включение IPV6 и общего доступа к файлам и принтерам
- 4. Очистить DNS
- 5. Редактор реестра для запуска RPC служб
- Windows rpcss is starting
- Default Settings
- Default Behavior
- Dependencies
- Restore Default Startup Configuration for Remote Procedure Call (RPC)
Ошибка “Сервер RPC недоступен” в Windows 10 /Windows Server 2016
Ошибка “ Сервер 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 серверу, в приложении появится ошибка:
Наиболее распространённые проблемы, из-за которых не работает 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;
Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Если 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 (она запущена?) и проверить, что этот порт не блокируется с клиента.
Проверка сетевых протоколов и настроек
Убедитесь, что на вашем компьютере заданы корректные сетевые настройки: IP адрес, шлюз, маска сети, настройки DNS серверов (можно проверить настройки сети из PowerShell). Проверьте, что в настройках сетевого адаптера, используемого для подключения включены протоколы Internet Protocol Version 6 (TCP/IPv6) и File and Printer Sharing for Microsoft Networks
Создайте в ветке реестра 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 недоступен в Windows 10 — Как исправить?
Remote Process Call (RPC) в переводе «удаленный вызов процедур» — это протокол, который позволяет программам на одном компьютере получать доступ к определенным службам программы на другом компьютере, который находится в той же сети. Другими словами, его основная цель, это дать возможность клиенту и серверу взаимодействовать друг с другом по сети. Но, иногда пользователи сталкиваться с ошибкой «Сервер RPC недоступен» в Windows 10, и ошибка может появляться при подключении к удаленному рабочему столу, при попытке распечатать документ на сетевом принтере, в почте outlook, abbyy licensing service и т.п. Недоступность RPC может быть не только по локальной сети, а так же в периферийных устройствах контроллера как сканер или принтер.
Причины ошибки, когда сервер RPC недоступен в Windows 10 могут быть разные, но в основном это: служба(ы) требуемые для RPC отключены, удаленный помощник отключен в брандмауэре, IPV6 или общий доступ к файлам и принтерам отключен, IP-адрес приводит к сбою сервера RPC или службы RPC отключены в реестре. Давайте разберем эти моменты, чтобы исправить ошибку, когда удаленный вызов процедур дает сбой и появляется ошибка, что сервер RPC недоступен в Windows 10.
1. Проверка служб RPC
Службы RPC могут перейти от автоматического режима в ручной, что и будет вызывать ошибку. Первым делом стоит проверить службу. Нажмите сочетание кнопок Win+R и введите services.msc, чтобы быстро открыть службы. В предоставленном списке найдите следующие службы и нажмите правой кнопкой мыши, выберите «свойства». Задайте параметры, если у вас не так — Тип запуска: Автоматически и запустить, если служба остановлена.
- Локатор удаленного вызова процедур (RPC).
- Модуль запуска процессов DCOM-сервера.
- Удаленный вызов процедур (RPC).
- Если у вас ошибка связанная с программой ABBYY licensing service, то ищите службу с названием ABBYY FineReader и установить для нее те же значения.
- Если у вас стоят не правильные параметры и не можете ничего изменить (выделено все серым), то следуйте 5 способу.
2. Удаленный помощник в брандмауэре
Удаленный помощник — функция, которая позволяет другим пользователям или компьютерам видеть экран вашего компьютера и управлять им. При подключении к удаленному компьютеру, вы также можете столкнуться с ошибкой RPC, поскольку клиент и сервер обмениваются информацией в гораздо большем и сложном масштабе. Если брандмауэр не настроен, вы увидите ошибку «Сервер RPC недоступен».
Нажмите Win+R и введите firewall.cpl, чтобы открыть параметры брандмауэра. Слева нажмите на «Разрешение взаимодействия с приложениями«.
Найдите «Удаленный помощник» и удостоверьтесь, что параметры для сети, включены везде. Перезагрузите компьютер или ноутбук, и проверьте, исправлена ли ошибка, когда сервер RPC недоступен.
3. Включение IPV6 и общего доступа к файлам и принтерам
В некоторых случаях вы можете столкнуться с ошибкой 1722: RPC сервер недоступен, когда происходит сбой сетевого подключения, так как отключены сетевой доступ к принтерам для сетей Microsoft и протокол TCP/IPv6.
Нажмите Win+R и введите ncpa.cpl, чтобы открыть сетевые адаптеры. Нажмите на сетевом адаптеры, через которое идет сеть, и выберите «свойства». Далее в списке найдите два параметра и убедитесь что они включены (галочки установлены).
- Общий доступ к файлам и принтерам для сетей Microsft.
- IP версии 6 (TCP/IPv6).
Если ошибка «сервер RPC недоступен» с кодом 1722 все еще появляется, то двигаемся ниже.
4. Очистить DNS
Очистка старых DNS может исправить код ошибки 1722 RPC. В первую очередь убедитесь, что службы, связанные с RPC, работают как в способе 1. Далее запускаем командную строку от имени администратора и введите следующие команды для очистки и сброса DNS:
- ipconfig /flushdns
- ipconfig /renew
Проверьте, исправлена ли ошибка 1722 RPC недоступен.
5. Редактор реестра для запуска RPC служб
Если вы не смогли запустить службы способом 1, то запустим их через реестр. Для полной эффективности, убедитесь, что вы проделали способ 3 и способ 4. Нажмите Win+R и введите regedit, чтобы открыть редактор реестра.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs
- Справа щелкните два раза мышкой по Start и установите значение 2 с шестнадцатеричной системой.
- Это активирует удаленный вызов процедур (RPC).
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DcomLaunch
- Откройте параметр Start и задайте значение 2 с шестнадцатеричной системой.
- Это запустит модуль запуска процессов DCOM-сервера.
И еще по одному пути:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcEptMapper
- Откройте параметр Start и задайте значение 2 с шестнадцатеричной системой.
- Это запустит локатор удаленного вызова процедур (RPC).
Перезагрузите ПК и проверьте, исправлена ли ошибка, когда RPC сервер недоступен в Windows 10.
Windows rpcss is starting
The RPCSS service is the Service Control Manager for COM and DCOM servers. It performs object activations requests, object exporter resolutions and distributed garbage collection for COM and DCOM servers. If this service is stopped or disabled, programs using COM or DCOM will not function properly. It is strongly recommended that you have the RPCSS service running.
Default Settings
Startup type: | Automatic |
Display name: | Remote Procedure Call (RPC) |
Service name: | RpcSs |
Service type: | share |
Error control: | normal |
Group: | COM Infrastructure |
Object: | NT AUTHORITY\NetworkService |
Path: | %SystemRoot%\system32\svchost.exe -k rpcss -p |
File: | %SystemRoot%\system32\rpcss.dll |
Registry key: | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs |
Privileges: |
|
Default Behavior
Remote Procedure Call (RPC) is a Win32 service. In Windows 10 it is starting automatically when the operating system starts. Then the Remote Procedure Call (RPC) service is running as NT AUTHORITY\NetworkService in a shared process of svchost.exe along with other services. If Remote Procedure Call (RPC) fails to start, the failure details are being recorded into Event Log. Then Windows 10 will start up and notify the user that the RpcSs service has failed to start due to the error.
Dependencies
Remote Procedure Call (RPC) cannot be started under any conditions, if the following services are disabled, deleted or working improperly:
While Remote Procedure Call (RPC) is stopped, disabled or working incorrectly, the following services do not start:
Restore Default Startup Configuration for Remote Procedure Call (RPC)
1. Run the Command Prompt as an administrator.
2. Copy the commands below, paste them into the command window and press ENTER:
sc config RpcSs start= auto
sc start RpcSs
3. Close the command window and restart the computer.