Не удалось войти в систему из за следующей ошибки сервер rpc недоступен windows 2003
Для чего нужна служба "Удаленный вызов процедур (RPC)"
Удаленный вызов процедур (RPC) - это протокол, который одна программа может использовать для запроса услуги у программы, расположенной на другом компьютере в сети, без необходимости разбираться в деталях сети. RPC используется для вызова других процессов на удаленных системах, таких как локальная система. Вызов процедуры также иногда называют вызовом функции или вызовом подпрограммы .
RPC использует модель клиент-сервер. Запрашивающая программа - это клиент, а программа, предоставляющая услуги, - это сервер. Подобно обычному или локальному вызову процедуры, RPC - это синхронная операция, требующая приостановки запрашивающей программы до тех пор, пока не будут возвращены результаты удаленной процедуры. Однако использование облегченных процессов или потоков, которые совместно используют одно и то же адресное пространство, позволяет одновременно выполнять несколько RPC.
Язык определения интерфейса (IDL) - язык спецификации, используемый для описания интерфейса прикладного программирования (API) программного компонента - обычно используется в программном обеспечении удаленного вызова процедур. В этом случае IDL обеспечивает мост между машинами на обоих концах связи, которые могут использовать разные операционные системы (ОС) и компьютерные языки.
Когда программные операторы, использующие структуру 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 происходит не к тому серверу (Может быть проблема с DNS или IP адресом)
- Есть блокировки между клиентом и сервером на фаэрволе
- Используются некорректные настройки сетевого подключение на клиенте или сервере
Преимущества удаленного вызова процедур
К преимуществам удаленного вызова процедур можно отнести следующее:
Недостатки RPC
Некоторые из недостатков RPC включают следующее:
- Клиент и сервер используют разные среды выполнения для своих соответствующих подпрограмм, и использование ресурсов, например файлов, также является более сложным. Следовательно, системы RPC не подходят для передачи больших объемов данных.
- RPC очень уязвим для сбоев, потому что он включает в себя систему связи, другую машину и другой процесс.
- Единого стандарта для RPC не существует; это может быть реализовано множеством способов.
- RPC основан только на взаимодействии и, как таковой, не предлагает гибкости, когда дело касается аппаратной архитектуры.
Проверка доступности службы RPC
Если вдруг компьютер не ответил, то это не значит, что он не работает, может работать брандмауэр и просто блокировать ping пакеты.
- Далее выполните Nslookup, чтобы удостовериться, что нужное вам имя компьютера преобразовывается в нужный IP-адрес. Выполните:
Небольшой пример из практики, предположим, что вы мигрировали сервер в другую подсеть, в итоге в DNS должна быть изменена соответствующая запись, но Windows это поймет не сразу, так как у нее есть свой локальный кэш, он живет 15 минут, поэтому если при проверке DNS имени вам выдается не тот IP-адрес, вам необходимо произвести очистку кэша DNS.
- Далее я вам советую проверить отвечает ли порт. Напоминаю, что служба RPC Endpoint Mapper слушает порт под номером 135. В PowerShell введите команду:
Если удаленный RPC порт доступен вы в в строке TcpTestSucceeded будет стоять статус "True".
Если будет порт закрыт или блокируется, то ошибка "Сервер RPC недоступен (The rpc server is unavailable)" вам обеспечена. Поняв, что порт не отвечает, нужно удостовериться, что трафик от клиента до сервера не блокирует фаервол. По умолчанию в любой версии Windows есть встроенный брандмауэр. На время тестирования и поиска причины, я советую его выключить для всех профилей. Сделаем мы это через командную строку:
Данная команда выключит брандмауэр на всех трех профилях сетевой карты.
Далее если порт 135 стал доступен, то можно делать правила на удаленном сервере. Напоминаю, что нужно сделать правило для трех служб:
- Remote Procedure Call (RPC) - Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper - Сопоставитель конечных точек RPC
- COM Server Process Launcher - Модуль запуска процессов DCOM-сервера
Еще хочу отметить, что если у вас есть сторонние антивирусные решения, например Касперский, то там так же есть встроенный сетевой экран, где так же нужно будет создать необходимые, разрешающие правила, которые корректно будут обрабатывать трафик динамических 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', зайдите в свойства службы и выставите автозапуск и попробуйте запустить вручную.
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DcomLaunch
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RpcEptMapper
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RpcSs
В каждом из этих расположений есть ключик "Start", выставите ему значение "2", это будет означать автоматический запуск службы.
Дополнительные сетевые проверки
В некоторых случаях причиной ошибок с доступностью RPC выступает сбой на сетевых адаптерах. Помогает сброс сетевых настроек и перезагрузка. В сети с Active Directory, старайтесь, чтобы на всех ваших сетевых адаптерах в свойствах были выставлены обе галки IPV4 и IPV6, особенно это актуально для контроллеров домена, где вы легко можете получать ошибку 1722. Еще может помочь отключение протокола Teredo у IPv6. В командной строке выполните:
Решение ошибки «Сервер RPC недоступен».
Причины появления ошибки
- Остановка службы RPC – когда служба RPC на сервере не запущена.
- Проблемы с разрешением имён – имя сервера RPC может быть связано с неправильным IP-адресом. Это значит, что клиент связывается с неправильным сервером или пытается связаться с IP-адресом, который в настоящее время не используется. Возможно, имя сервера не распознаётся вообще.
- Трафик заблокирован брандмауэром – брандмауэр или другое приложение безопасности на сервере или брандмауэр устройства между клиентом и сервером могут препятствовать доступу трафика к TCP-порту сервера 135.
- Проблемы с подключением – проблема с сетью может быть причиной отсутствия соединения между клиентом и сервером.
Способы решения
Код ошибки 1722
Ошибка 1722 «Сервер PRC недоступен» может возникать при использовании сетевого принтера или звуковых устройств в седьмой версии Windows. Причиной может быть антивирусная программа, блокирующая коммуникационные порты – для её устранения нужно найти параметры управления доверенными программами в настройках антивируса.
Также ошибка может возникнуть из-за того, что в системе присутствует сам вирус – стоит проверить систему и диск с помощью другой антивирусной программы, чем в настоящее время. Для устранения нажмите Пуск/Настройки/Панель управления. Затем откройте Администрирование/Службы. Появится окно, в котором с правой стороны вы найдете «Сервер». На «Сервере» проверьте, включён ли автоматический тип запуска. Измените параметр при необходимости и перезагрузите компьютер.
Отключение брандмауэра Windows
Если при печати в Windows 7 появляется ошибка «Сервер RPC недоступен», проблема может крыться в брандмауэре. Он отвечает за блокировку доступа к компьютеру во внутренней или внешней сети посторонними лицами или приложениями, что исключает возможность контроля ПК. Ниже приведены некоторые советы, которые позволят вам отключить (в случае, если вы хотите использовать для этого другое приложение) и включить интегрированный брандмауэр Windows. Измените имя компьютера с помощью «Настроек»:
- Это один из самых простых способов отключения сетевого брандмауэра. Для этого используйте вкладку «Параметры системы».
- Из списка доступных опций выберите «Сеть и Интернет».
- Перейдите на вкладку Ethernet и выберите «Брандмауэр Windows» с правой стороны окна.
- Выберите включение и отключение брандмауэра.
- В списке доступных операций выберите параметр «Отключить брандмауэр Windows» (не рекомендуется).
- Нажмите «ОК». Брандмауэр выключен.
Следующий способ – редактор локальной групповой политики (GPO):
- Нажмите клавиши Win + R и введите «gpedit.msc». Откроется редактор локальной групповой политики.
- Параметр, ответственный за отключение брандмауэра, расположен по адресу
«Конфигурация компьютера» – «Административные шаблоны» – «Сеть» – «Сетевые подключения» – «Стандартный профиль» – «Брандмауэр Windows: защита всех сетевых подключений».
- Измените состояние настройки на «ВЫКЛ».
- После нажатия кнопки «ОК» или «Применить» брандмауэр Windows перестанет работать.
Для более опытных пользователей вышеупомянутый сценарий можно выполнить с помощью редактора реестра.
- нажмите пуск и введите «regedit», запустите приложение от имени администратора;
- в окне редактора найдите каталог
- найдите параметр EnableFirewall и измените его значение с 1 на 0;
- таким же образом отредактируйте ключ EnableFirewall в следующем каталоге
Закройте редактор реестра и перезагрузите компьютер. С этого момента брандмауэр Windows отключается. Чтобы снова возобновить брандмауэр с помощью редактора реестра, просто измените указанные выше значения с названием EnableFirewall с 0 на 1, и перезапустите компьютер.
Ручной запуск задачи services.msc
- сначала нажмите меню «Пуск» и в строке поиска введите «Выполнить», нажмите «Enter»;
- в следующем окне введите services.msc и подтвердите кнопкой «OK»;
- найдите в списке элемент «Служба времени Windows»;
- дважды щёлкните эту службу. Откроется меню, в котором вы должны нажать кнопку «Выполнить».
Устранение неполадок Windows
Ошибка в FineReader
Проблема может возникать в Windows 8 и выше и при попытке запуска службы ABBYY FineReader Licensing Service. Для проверки состояния в списке служб (как его найти, описано выше) выберите ABBYY FineReader Licensing Service. В окне свойств убедитесь, что параметр «Тип запуска» установлен на «Автоматический». При необходимости измените его, закройте редактор кнопкой «ОК» и перезагрузите компьютер.
Проверка на вирусы
Как видите, избавиться от ошибки можно многими способами. В этом списке представлены наиболее вероятные варианты исправления ошибки. При необходимости придётся переустановить операционную систему, воспользовавшись установочным диском.
Данная ошибка может появляться в разных ситуациях – от установки драйверов для видеокарты и периферийных устройств до получения доступа к средствам администрирования, в частности управлению дисками, и даже при простом входе в учетную запись.
Причина 1: Службы
-
Доступ к списку служб осуществляется из «Панели управления», где нужно найти категорию «Администрирование».
Если ошибка не пропала, то переходим ко второму этапу настройки служб, на этот раз с помощью «Командной строки». Нужно изменить тип запуска для «DCOMLaunch», «SPOOFER» и «RpcSS», присвоив ему значение «auto».
- Запуск «Командной строки» осуществляется в меню «Пуск» из папки «Стандартные».
net start dcomlaunch
Данная команда запустит службу, если она была остановлена.
и перейдя на вкладку с соответствующим названием.
sc \\lumpics-e8e55a9 config dcomlaunch start= auto
После выполнения данных действий со всеми службами, указанными выше, перезагружаем компьютер. Если ошибка продолжает появляться, необходимо проверить наличие файлов spoolsv.exe и spoolss.dll в системной папке «system32» директории «Windows».
В случае их отсутствия самым верным решением будет восстановление системы, о чем поговорим немного позже.
Причина 2: Повреждение или отсутствие системных файлов
Повреждение файловой системы может и должно приводить к различного рода ошибкам, в том числе и к той, о которой мы говорим в этой статье. Отсутствие некоторых системных файлов говорит о серьезном сбое в работе ОС. Антивирусное программное обеспечение также может удалить некоторые файлы из-за подозрений во вредоносности. Такое довольно часто случается при использовании пиратских сборок Windows XP или действий вирусов, заменивших «родные» документы на свои.
Если такое произошло, то, скорее всего, никакие действия, кроме восстановления системы не помогут избавиться от ошибки. Правда, если здесь поработал антивирус, то можно попытаться извлечь файлы из карантина и запретить в дальнейшем их сканировать, но стоит помнить, что это могут быть вредоносные компоненты.
Вариантов восстановления операционной системы несколько, нам подойдет переустановка с сохранением пользовательских параметров и документов.
Причина 3: Вирусы
В том случае, если никакие методы не помогают устранить ошибку сервера RPC, то, вероятно, у вас в системе завелся вредитель и необходимо произвести сканирование и лечение одной из антивирусных утилит.
Заключение
Отблагодарите автора, поделитесь статьей в социальных сетях.
Различные версии Windows слишком часто пишут, что «сервер RPC недоступен». Это может случаться как просто при запуске какой-то программы, так и при входе в систему, попытке выполнить команду через PowerShell и очень часто – в момент подключения к принтеру. Тот самый таинственный RPC-сервер – это служба удаленного подключения к другим устройствам, которая не смогла запуститься, связаться с аппаратом на той стороне или имеет какие-то системные неполадки. Мы постараемся помочь всем: как тем, кто столкнулся с ошибкой «сервер RPC недоступен» в пользовательских версиях Windows 10, 8, 7, XP, так и в серверных разновидностях Windows Server 2012, 2008.
Что значит «сервер RPC недоступен»?
- второе устройство сейчас недоступно, скорее всего – оно выключено;
- служба RPC отключена в системе;
- брандмауэр или провайдер блокирует порты, использованные при подключении;
- указаны неправильные параметры подключения;
- скопился неправильный кэш DNS.
Разновидности проблемы
Какие бывают вариации ошибки «сервер RPC недоступен»:
- Появляется при запуске программы. Она пытается установить связь с вторым устройством, завершить процедуру не получается и высвечивается ошибка.
- В момент включения системы. Настроено автоматическое подключение на пользовательской версии Windows.
- Не получается использовать WMI-инструмент, PowerShell WinRM или подключиться к серверу в Windows Server.
- Ошибка «Сервер RPC недоступен» во время запуска ABBYY FineReader Licensing Service.
Вариантов проблемы много, мы начнем с исправления тех, что возникают в обычных Windows 7, 10, затем перейдем к проблемам в серверных ОС и в конце рассмотрим оставшиеся разновидности.
Если при печати или подключении к другому ПК на любой Windows, начиная с XP, появляется данная ошибка, следует проверить доступность устройства. Девайс обязан быть включенным и отзываться на команду ping. Чаще всего именно неактивность принтера, компьютера или сервера является причиной проблемы. После его выхода в сеть, все пройдет. Дальнейшие процедуры имеет смысл проводить в том случае, если оба устройства активны и откликаются на команду ping, но ошибка все равно появляется.
Полезно! Стоит попробовать запустить средство устранения неполадок, которое исправит большинство системных неполадок, которые сможет найти. Это позволит значительно сократить время. Что использовать инструмент, нужно зайти в «Панель управления» на вкладку «Устранение неполадок» и выбрать «Использование принтера».
Решение 1: активируем службы RPC
При ошибке 1722 «сервер RPC недоступен» следует проверить активность основных служб, которые нужны для использования удаленного подключения.
Что нужно делать:
- Нажимаем Win + R и в появившуюся строку вводим services.msc.
- Ищем службу «Локатор удаленного вызова процедур (RPC)» и дважды кликаем по ней.
- Выбираем «Тип запуска» в положение «Автоматически».
- Запускаем «Средство построения конечных точек».
- Активируем службу «Модуль запуска процессом DCOM-сервера».
- То же самое делаем для «Диспетчера печати».
Скорее всего error 1722 в Windows и ряд других ошибок будет устранен уже на этом этапе.
Решение 2: открываем порты
Переходя к этому пункту, мы рекомендуем сначала отключить брандмауэр Windows полностью, это позволит понять, дело действительно в фаерволе или он не имеет к ошибке никакого отношения. Если после выключения этого инструмента защиты наблюдается улучшение, рекомендуем провести следующую процедуру.
Решение 3: включаем протоколы связи
Реже, но бывает такое, что в протоколах связи неактивны несколько важных параметров.
- Через «Панель управления» переходим в «Сетевые подключения».
- Жмем по подключенной сети правой кнопкой мыши и выбираем «Свойства».
- Включаем «Общий доступ к файлам и принтерам», а также – «IP версии 6».
Решение 4: чистим DNS
Простой способ, который тоже может помочь. Достаточно в командную строку с повышенными привилегиями вставить ipconfig /flushdns и задействовать команду кнопкой Enter. Если в недавнем прошлом изменялось имя ПК, к которому происходит подключение, следует перерегистрировать DNS с помощью команды ipconfig /registerdns.
Способы решения для Windows Server 2008, 2012
В Windows Server есть еще одна разновидность ошибки – «Сервер RPC недоступен (Исключение из HRESULT: 0x800706BA)». Она тоже высвечивается в момент попытки выполнения команды с использованием подключения к удаленному ПК. Сначала нужно проверить доступность устройства, это просто сделать с использованием строки: «Get-WmiObject Win32_ComputerSystem –ComputerName 192.168.0.114», где IP и название компьютера указываем своего сервера.
- Удостоверяемся в активности устройства по другую сторону.
- Проверяем правильность IP-адреса или имени компьютера.
- По необходимости включаем «Удаленный вызов процедур (RPC)» и «Инструментарий управления Windows» на серверном ПК. Для быстрой проверки статуса служб sc query Winmgmt и scquery rpcss. Положительный результат выглядит так: «Состояние: 4 RUNNING». Для их включения следует заменить слово query в команде на start.
- Проверяем порты. Команда Test-NetConnection 192.168.1.15 -port 135 отобразит, открыт ли этот порт. Возможно, его придется открыть, инструкция указана выше.
- Устанавливаем правильные параметры DNS.
- Проверяем правильность установленного времени.
- Активируем службу «Помощник TCP/IP NetBIOS».
Сервер RPC недоступен ABBYY FineReader Licensing Service
При попытке использования программы ABBYY для расшифровки PDF-файлов может появиться подобная ошибка. Мы о ней уже неоднократно слышали и знаем, как исправлять.
- Находим элемент управления services.msc через поиск или строку «Выполнить».
- Находим все службы, в которых фигурирует слово ABBYY.
- Открываем их правой кнопкой мыши, переходим в «Свойства» и задаем им «Тип запуска» в положение «Автоматически».
- Применяем изменения и закрываем окна.
Читайте также: