Обновлено 15.02.2022
Добрый день! Уважаемые читатели и гости одного из крупнейших 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 выполняются следующие шаги:
- Клиент вызывает клиентскую заглушку. Вызов представляет собой вызов локальной процедуры с параметрами, помещенными в стек обычным способом.
- Клиентская заглушка упаковывает параметры процедуры в сообщение и выполняет системный вызов для отправки сообщения. Упаковка параметров процедуры называется маршалингом.
- Локальная ОС клиента отправляет сообщение с клиентского компьютера на удаленный сервер.
- Серверная ОС передает входящие пакеты на серверную заглушку.
- Заглушка сервера распаковывает параметры из сообщения – это называется демаршалингом .
- Когда серверная процедура завершается, она возвращается к серверной заглушке, которая маршалирует возвращаемые значения в сообщение. Затем заглушка сервера передает сообщение на транспортный уровень.
- Транспортный уровень отправляет полученное сообщение обратно на клиентский транспортный уровень, который возвращает сообщение клиентской заглушке.
- Клиентская заглушка не упорядочивает возвращаемые параметры, и выполнение возвращается вызывающей стороне.
Клиент 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)
Или в приложении Terminal Services Manager будет ошибка при попытке получения данных “Сервер RPC недоступен“.
Так же RPC может быть причиной проблемы в репликации контроллеров домена, где в логах Windows будет фигурировать ошибка ID 1722. Это очень не приятный момент, который может привести к большим проблемам.
Типы RPC
Существует пять типов RPC:
- Обычный метод работы, при котором клиент выполняет вызов и не продолжает работу до тех пор, пока сервер не вернет ответ.
- Клиент звонит и продолжает свою обработку. Сервер не отвечает.
- Средство для отправки нескольких клиентских неблокирующих вызовов в одном пакете.
- У клиентов RPC есть средство широковещательной рассылки, т. е. Они могут отправлять сообщения на множество серверов, а затем получать все полученные ответы.
- Клиент делает неблокирующий вызов клиент/сервер; сервер сигнализирует о завершении вызова путем вызова процедуры, связанной с клиентом.
Почему может не работать служба RPC
- Удаленный компьютер с которым идет взаимодействие выключен
- На удаленном сервере не запущена или перестала работать служба RPC
- Подключение по RPC происходит не к тому серверу (Может быть проблема с DNS или IP адресом)
- Есть блокировки между клиентом и сервером на фаэрволе
- Используются некорректные настройки сетевого подключение на клиенте или сервере
Преимущества удаленного вызова процедур
К преимуществам удаленного вызова процедур можно отнести следующее:
- помогает клиентам общаться с серверами посредством традиционного использования вызовов процедур на языках высокого уровня;
- может использоваться как в распределенной, так и в локальной среде;
- поддерживает процессно-ориентированные и поточно-ориентированные модели;
- скрывает внутренний механизм передачи сообщений от пользователя;
- требует минимальных усилий для переписывания и повторной разработки кода;
- обеспечивает абстракцию, т. е. характер передачи сообщений по сети скрыт от пользователя;
- опускает многие уровни протокола для повышения производительности.
Недостатки 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 пакеты.
- Далее выполните Nslookup, чтобы удостовериться, что нужное вам имя компьютера преобразовывается в нужный IP-адрес. Выполните:
nslookup SVT201S01.root.pyatilistnik.org
Небольшой пример из практики, предположим, что вы мигрировали сервер в другую подсеть, в итоге в DNS должна быть изменена соответствующая запись, но Windows это поймет не сразу, так как у нее есть свой локальный кэш, он живет 15 минут, поэтому если при проверке DNS имени вам выдается не тот IP-адрес, вам необходимо произвести очистку кэша DNS.
- Далее я вам советую проверить отвечает ли порт. Напоминаю, что служба RPC Endpoint Mapper слушает порт под номером 135. В PowerShell введите команду:
Test-NetConnection svt2019s01.root.pyatilistnik.org -Port 135
Если удаленный RPC порт доступен вы в в строке TcpTestSucceeded будет стоять статус “True”.
Если будет порт закрыт или блокируется, то ошибка “Сервер RPC недоступен (The rpc server is unavailable)” вам обеспечена. Поняв, что порт не отвечает, нужно удостовериться, что трафик от клиента до сервера не блокирует фаервол. По умолчанию в любой версии Windows есть встроенный брандмауэр. На время тестирования и поиска причины, я советую его выключить для всех профилей. Сделаем мы это через командную строку:
Netsh Advfirewall set allprofiles state off
Данная команда выключит брандмауэр на всех трех профилях сетевой карты.
Далее если порт 135 стал доступен, то можно делать правила на удаленном сервере. Напоминаю, что нужно сделать правило для трех служб:
- Remote Procedure Call (RPC) – Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper – Сопоставитель конечных точек RPC
- 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
Следующим шагом является проверка состояния службы на нужном вам сервере или компьютере. Проверять следует три службы:
- Remote Procedure Call (RPC) – Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper – Сопоставитель конечных точек RPC
- 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 запущены и имею автоматический тип запуска.
Если службы не запущены, то откройте оснастку “services.msc’, зайдите в свойства службы и выставите автозапуск и попробуйте запустить вручную.
Если по каким, то причинам вы не можете запустить службу из оснастки, то можно это сделать через реестр (Кстати реестр можно править и удаленно). Для этого есть несколько веток, но для начала откройте окно “Выполнить” и введите regedit.
- Модуль запуска процессов 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 недоступен» (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_MACHINESYSTEMCurrentControlSetservices
В этом разделе реестра измените значение параметра 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 /flushsdns 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 сервера не исключение. В основном она появляется при обновлении драйверов, но бывают случаи, когда ошибки «сервер RPC недоступен» возникает и при запуске операционной системы (ОС) Windows 7, 8, 10, а также XP или Server 2003, 2008, 2012. Также ошибка может возникать при печати или установке принтера.
RPC — это просто метод для передачи информации между различными процессами или клиентом (техника, что начинает связь) и сервером (устройством, которое пытается связаться с клиентом) в рамках системы или сети. Очень много компонентов ОС Виндовс использует этот способ “общения”. RPC в качестве точек связи использует разные порты чтобы связывать системы между собой.
В случае нарушения работы сервера, когда он недоступен, обмен пакетов данных между системами нарушается, теряется связь с удаленным объектом и функции просто перестают ее выполнять. Поэтому и возникает ошибка.
Что за ошибка и почему возникает
Проблема появляется, когда связь между системами нарушается, так как сервер не может отправить адрес порта точке связи. Появиться она может по следующим причинам:
- Работа службы PRC была приостановлена или вовсе не запущена.
- Наименование сервера может быт по ошибке связано с не тем адресом. Получается, что клиент пытается связаться с не тем “собеседником”. Также бывает, что связь пытаются наладить через порт, который не используется или имя сервера просто не распознается системой.
- Трафик был заблокирован брандмауэром или другим приложением для обеспечения безопасности.
- Есть проблемы с сетью, которые мешают связи между клиентом и сервером.
- Недавно были установлены драйвера на принтер, МФУ, звуковую карту и т.д.
Поиск причины
Причину, которая вызвала ошибку легко выявить по ее коду. Ее возможно посмотреть в журнале событий, только делать это рекомендуется сразу после обнаружения проблемы:
- Открыть меню “Пуск”.
- Перейти в панель управления.
- Зайти на вкладку администрирования и открыть окно просмотра событий.
- Поискать в журнале сообщение об ошибке (обычно помечено красным крестом). Как правило, если сделать все действия сразу после первого появления ошибки, то она будет в первой строке. В ней будет находится расшифровка и устройство, которое вызывает неполадки.
- Найти описание проблемы в интернете, а также способы решения.
Общие способы решения
Есть универсальные способы, которые помогают быстро устранить проблему с сервером РПЦ. На их выполнения потребуется немного времени, но результат не заставит ждать.
Перезапуск службы RPC
Для начала рекомендуется просто перезапустить службу. Возможно, что неполадки в работе при этом будут устранены. Сделать это можно следующим образом:
- Открыть диспетчер задач.
- Перейти на вкладку “Службы”.
- Найти необходимое. Для удобства рекомендуется выстроить элементы по алфавиту, что можно сделать одним кликом на столбик “Имена”.
- Кликнуть правой кнопкой мышки по службе и выбрать пункт “Перезапустить”.
После этого процесс прекратит работу и тут же запустится.
Отключение брандмауэра
Этот защитник может попросту не пропускать важные пакеты данных. Именно поэтому рекомендуется отключить его на время, чтобы точно удостовериться, что это не его вина.
Сделать это можно через панель управления, в разделе системы и безопасности.
Проверка времени компьютера
Если ошибка появилась в момент запуска какой-то программы или ее остановки, то вероятно все связанно с синхронизацией времени. Решить эту проблемы можно таким образом:
- Зайти в диспетчер задач. Перейти в последнюю вкладку. Внизу окна будет ссылка “Открыть Службы”.
- Откроется окно, в котором требуется найти службу времени.
- Если она была приостановлена, то ее требуется запустить. При активной службе рекомендуется выполнить перезапуск.
Устранение неполадок системы
В случае, если ошибка «сервер РПЦ недоступен» появилась при запуске ОС, необходимо сделать следующее:
- Перезагрузить компьютер.
- Нажать кнопку F8 при загрузке.
- Выбрать пункт «Устранение неполадок компьютера».
- Дождаться окончания процесса.
Проверка на вирусы
Также можно просканировать систему на наличие вредоносного программного обеспечения (ПО). Также, если антивирус обнаружит что-то, то его рекомендуется заменить. Дело в том, что если программа не обнаружила вирус самостоятельно, а только после ручного запуска сканирования, то значит, что она не выполняет своих функций.
При обнаружении вируса, его необходимо удалить.
Ошибка с кодом 1722
Ошибка «Сервер RPC недоступен» наиболее часто встречается при проблемах с отсутствием звука. Решается следующим образом:
- Открыть диспетчер задач.
- Перейти на вкладку “Службы”.
- Внизу окна будет ссылка, кликнуть на нее для открытия всех служб.
- Найти «Средство построения точек аудио».
- Сделать тип запуска “Вручную” и сохранить изменения.
Ошибка в FineReader
Многие пользователи используют FineReader для поиска и распознавания текста на картинках. Она может вызывать проблемы, а устранить их можно следующим образом:
- Зайти в “Службы” через диспетчер задач или панель управления.
- Оставить службу FineReader.
- Перезагрузить компьютер и запустить приостановленный процесс.
Проблемы с Bitlocker
Битлокер защищает информацию на носителях информации, например, флешках. И иногда работа этой технологии может вызывать ошибки с сервером RPC. Исправить это можно отключением технологии или просто обновлением. Это можно сделать через центр обновлений Виндовс или скачав необходимые файлы с интернета.
24.03.2020
Просмотров: 12173
Удаленный вызов процедур или Remote Process Call (RPC) – это протокол, который обеспечивает одному софту на одном компьютере доступ к службам такой же программы только на другом компьютере, который подключён к той же локальной сети. Простыми словами – это протокол, который обеспечивает связь клиента с сервером. Иногда такой протокол сбоит и при попытке подключиться какой-то программе по сети, пользователь сталкивается с ошибкой сервер RPC недоступен на Windows 7 и выше. При этом нужно отметить, что недоступность протокола может быть не только по локальной сети, но и в периферийных устройствах, таких как сканер или принтер.
Читайте также: Что делать, если возникла ошибка DNS PROBE FINISHED NO INTERNET?
Чаще всего ошибка сервер RPC недоступен на Windows 10 или более ранних сборках Майкрософт появляется по таким причинам:
- Службы, которые обеспечивают работу протокола, отключены в Windows 7 и выше;
- В настройках брандмауэра отключен удаленный помощник;
- Неверные настройки протокола IPV6;
- Общий доступ к файлам и папкам отключен;
- Службы RPC отключены в реестре;
- IP адрес вызывает сбой сервера RPC.
Также не стоит исключать и банальный системный сбой, который может повлиять на работу протокола и вызвать такую ошибку. Чтобы его исключить, достаточно перезагрузить ПК.
Как исправить ошибку сервер RPC недоступен?
Если на компьютере с Windows 7 и выше вы столкнулись с ошибкой сервер RPC недоступен, то первое, что необходимо сделать – проверить работу служб, которые могут перейти из автоматического режима в ручной. Для этого выполняем следующие действия:
- Жмем «Win+R» и вводим «services.msc».
- Теперь нужно найти следующие три службы:
- Модуль запуска процессов DCOM-сервера;
- Локатор удаленного вызова процедур (RPC);
- Удаленный вызов процедур (RPC).
- Двойным кликом открываем службу, выставляем «Автоматический» тип запуска и кликаем «Запустить» службу. Так повторяем со всеми службами.
- После запуска служб рекомендуем перезапустить Windows, чтобы изменения вступили в силу.
Иногда ошибка сервер RPC недоступен может появиться при удаленном сеансе. В данном случае эта неполадка может быть связана с удаленным помощником в брандмауэре. Чтобы её исправить стоит выполнить следующие действия:
- Жмем «Win+R» и вводим «firewall.cpl».
- Откроется окно настроек брандмауэра. В меню слева выбираем «Разрешить запуск программ и компонентов через брандмауэр Windows» (Windows 7) или «Разрешение взаимодействия с программами и …» (Windows 10).
- Появиться окно с программами, которым разрешен доступ к сети через брандмауэр. В списке находим «Удаленный помощник» и смотрим, чтобы доступ был разрешен через все типы сетей. При необходимости ставим нужную отметку.
- Сохраняем настройки и перезагружаем систему, чтобы изменения вступили в силу.
Если же подобная ошибка возникла при работе с принтером или любым другим удаленным устройством, а также с удаленным доступом по локальной сети к файлам и папкам, то, возможно, причина кроется в протоколе IPV6. В данном случае решение будет следующим:
- Жмем «Win+R» и вводим «ncpa.cpl», чтобы открыть настройки сетевых подключений.
- Нажимаем на активном подключении правой кнопкой мыши и выбираем «Свойства».
- Откроется небольшое окно. Нужно найти два параметра «Общий доступ к файлам и принтерам для сетей Майкрософт» и «IP версии 6 (TCP/IPv6)». Смотрим, чтобы напротив этих пунктов стояла отметка, которая указывает на то, что эти параметры активны. Если отметок нет, то ставим их. Перезагружаем систему, чтобы изменения вступили в силу.
- Эту же проблему можно решить путем очистки DNS кэша. Сделать это достаточно просто. Нужно запустить командную строку с правами Администратора и ввести такие команды (по очереди):
ipconfig /flushdns
ipconfig /renew
- После выполнения данных команд рекомендуем перезагрузить систему, чтобы изменения вступили в силу. Стоит также перезагрузить роутер.
В случае, если исправить неполадку вышеуказанными способами не удалось, рекомендуем внести некоторые правки в реестр. Однако перед редактированием реестра стоит создать точку по восстановлению системы или резервную копию реестра. Далее действия будут следующими:
- Открываем редактор реестра (Win+R, regedit). Переходим по ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs. В меню справа нужно найти параметр «Start» и задать ему значение «2». Так вы перезапустите работу службы «Удаленный вызов процедур (RPC)».
- Далее нужно перейти по ветке «HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDcomLaunch» и также в меню справа выбрать параметр «Start» и задать ему значение «2». Так вы активируете службу «Модуль запуска процессов DCOM-сервера».
- Еще одна служба, необходима для работы протокола RPC – это «Локатор удаленного вызова процедур». Чтобы его перезапустить, стоит перейти по ветке «HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcEptMapper». Находим в меню справа параметр «Start» и задаем ему значение «2».
- После редактирования реестра нужно перезапустить Windows, чтобы изменения вступили в силу. Проверяем, появляется ли такая ошибка.
Если после выполнения вышеуказанных действий ошибка сервер RPC недоступен не исчезла, то советуем проверить настройки подключения по локальной сети или откатить систему до более раннего состояния.
RPC – это способ обмена информацией между процессами или между клиентом (устройством, инициирующем связь RPC) и сервером (устройством, которое с ним связывается) в сети или системе. Многие встроенные компоненты Windows используют RPC, который в качестве отправной точки для связи между системами применяет различные порты. При возникновении неполадок возникает сообщение «Сервер RPC недоступен».
Решение ошибки «Сервер RPC недоступен».
Причины появления ошибки
В типичном сеансе RPC клиент связывается с программой сопоставления конечных точек сервера по TCP-порту 135 и для указанной службы требует определённого номера динамического порта. Сервер отвечает, отправив IP-адрес и номер порта, для которого служба зарегистрирована в RPC после её запуска, а затем связывается с клиентом с указанным IP-адресом и номером порта. Возможные причины ошибки «Сервер RPC недоступен» следующие:
- Остановка службы RPC – когда служба RPC на сервере не запущена.
- Проблемы с разрешением имён – имя сервера RPC может быть связано с неправильным IP-адресом. Это значит, что клиент связывается с неправильным сервером или пытается связаться с IP-адресом, который в настоящее время не используется. Возможно, имя сервера не распознаётся вообще.
- Трафик заблокирован брандмауэром – брандмауэр или другое приложение безопасности на сервере или брандмауэр устройства между клиентом и сервером могут препятствовать доступу трафика к TCP-порту сервера 135.
- Проблемы с подключением – проблема с сетью может быть причиной отсутствия соединения между клиентом и сервером.
Способы решения
При запуске или установке некоторых программ вы можете получить сообщение «Сервер RPC недоступен». Это часто связано с синхронизацией времени, необходимой для запуска программы. Без этого некоторые приложения могут работать неправильно или не запускаться вообще. Что делать, чтобы сообщение больше не появлялось, рассмотрим далее.
Код ошибки 1722
Ошибка 1722 «Сервер PRC недоступен» может возникать при использовании сетевого принтера или звуковых устройств в седьмой версии Windows. Причиной может быть антивирусная программа, блокирующая коммуникационные порты – для её устранения нужно найти параметры управления доверенными программами в настройках антивируса.
Также ошибка может возникнуть из-за того, что в системе присутствует сам вирус – стоит проверить систему и диск с помощью другой антивирусной программы, чем в настоящее время. Для устранения нажмите Пуск/Настройки/Панель управления. Затем откройте Администрирование/Службы. Появится окно, в котором с правой стороны вы найдете «Сервер». На «Сервере» проверьте, включён ли автоматический тип запуска. Измените параметр при необходимости и перезагрузите компьютер.
Отключение брандмауэра Windows
Если при печати в Windows 7 появляется ошибка «Сервер RPC недоступен», проблема может крыться в брандмауэре. Он отвечает за блокировку доступа к компьютеру во внутренней или внешней сети посторонними лицами или приложениями, что исключает возможность контроля ПК. Ниже приведены некоторые советы, которые позволят вам отключить (в случае, если вы хотите использовать для этого другое приложение) и включить интегрированный брандмауэр Windows. Измените имя компьютера с помощью «Настроек»:
- Это один из самых простых способов отключения сетевого брандмауэра. Для этого используйте вкладку «Параметры системы».
- Из списка доступных опций выберите «Сеть и Интернет».
- Перейдите на вкладку Ethernet и выберите «Брандмауэр Windows» с правой стороны окна.
- Выберите включение и отключение брандмауэра.
- В списке доступных операций выберите параметр «Отключить брандмауэр Windows» (не рекомендуется).
- Нажмите «ОК». Брандмауэр выключен.
Следующий способ – редактор локальной групповой политики (GPO):
- Нажмите клавиши Win + R и введите «gpedit.msc». Откроется редактор локальной групповой политики.
- Параметр, ответственный за отключение брандмауэра, расположен по адресу
«Конфигурация компьютера» – «Административные шаблоны» – «Сеть» – «Сетевые подключения» – «Стандартный профиль» – «Брандмауэр Windows: защита всех сетевых подключений».
- Измените состояние настройки на «ВЫКЛ».
- После нажатия кнопки «ОК» или «Применить» брандмауэр Windows перестанет работать.
Для более опытных пользователей вышеупомянутый сценарий можно выполнить с помощью редактора реестра.
- нажмите пуск и введите «regedit», запустите приложение от имени администратора;
- в окне редактора найдите каталог
HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyDomainProfile;
- найдите параметр EnableFirewall и измените его значение с 1 на 0;
- таким же образом отредактируйте ключ EnableFirewall в следующем каталоге
HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyPublicProfile;
- и последний каталог с ключом EnableFirewall
HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyStandardProfile.
Закройте редактор реестра и перезагрузите компьютер. С этого момента брандмауэр Windows отключается. Чтобы снова возобновить брандмауэр с помощью редактора реестра, просто измените указанные выше значения с названием EnableFirewall с 0 на 1, и перезапустите компьютер.
Ручной запуск задачи services.msc
При запуске или установке некоторых программ вы можете получить сообщение «Сервер RPC недоступен». Это часто связано с синхронизацией времени, необходимой для запуска программы. Без этого некоторые приложения могут работать неправильно или не запускаться вообще. При недоступности функции может произойти сбой, для исправления необходимо включить службу синхронизации:
- сначала нажмите меню «Пуск» и в строке поиска введите «Выполнить», нажмите «Enter»;
- в следующем окне введите services.msc и подтвердите кнопкой «OK»;
- найдите в списке элемент «Служба времени Windows»;
- дважды щёлкните эту службу. Откроется меню, в котором вы должны нажать кнопку «Выполнить».
С этого момента сообщение «RPC-сервер недоступен» появляться не должно.
Устранение неполадок Windows
Исправить ошибку в Windows 10 поможет встроенное средство устранения неполадок системы. Перезагрузите компьютер и после подачи звукового сигнала нажимайте кнопку F8 раз в секунду, пока не откроется меню выбора вариантов загрузки. Первым из них будет «Устранение неполадок компьютера». Выберите это действие и дождитесь окончания операции.
Ошибка в FineReader
Проблема может возникать в Windows 8 и выше и при попытке запуска службы ABBYY FineReader Licensing Service. Для проверки состояния в списке служб (как его найти, описано выше) выберите ABBYY FineReader Licensing Service. В окне свойств убедитесь, что параметр «Тип запуска» установлен на «Автоматический». При необходимости измените его, закройте редактор кнопкой «ОК» и перезагрузите компьютер.
Проверка на вирусы
В Windows XP и выше сообщение о неисправности может быть вызвано наличием вируса. Просканируйте свой ПК с помощью антивирусной программы, следуя указаниям мастера. В Windows 10 можно воспользоваться стандартным «Защитником». Для этого нажмите правой кнопкой мыши на значок «Щит» возле часов и выберите «Открыть». Запустите проверку на вирусы нажатием соответствующей кнопки в окне.
Как видите, избавиться от ошибки можно многими способами. В этом списке представлены наиболее вероятные варианты исправления ошибки. При необходимости придётся переустановить операционную систему, воспользовавшись установочным диском.