Приложение nr server не запущена
Когда вы страдаете от того, что служба не запускается из-за ошибки входа в систему, особенно при перезапуске сервера Windows, проблема обычно связана с изменением пароля для профиля, используемого агентом SQL Server.
Однако иногда пароль может оставаться прежним, и вы уверены, что не вносили никаких изменений.
В дополнение к этому вы устали менять используемое имя входа и возвращать его обратно в исходное доменное имя, которое вы не можете делать каждый раз, когда что-то идет не так.
Выше может произойти из-за:
- Смена пароля для учетной записи, с которой служба настроена для входа
- Данные пароля повреждены (в реестре)
- Право на вход в систему в качестве службы было отменено для указанной учетной записи пользователя
Не нужно беспокоиться об этом, поскольку у нас есть только правильные решения для решения проблем, при которых служба не запускалась из-за ошибки входа в систему, ознакомьтесь с приведенными ниже решениями.
- Настройте службу для использования встроенной системной учетной записи
- Измените пароль для указанной учетной записи пользователя, чтобы он соответствовал текущему паролю для того же пользователя.
- Восстановить право пользователя на вход в систему как сервис
Решение 1. Настройте службу на использование встроенной системной учетной записи.
Если служба не запустилась из-за ошибки входа в систему, настройте ее на запуск со встроенной системной учетной записью, выполнив следующие действия:
- Нажмите клавишу Windows + R, чтобы открыть командную строку с повышенными правами Выполнить .
- Введите services.msc и нажмите Enter.
- Найдите службу Идентификация приложения , щелкните ее правой кнопкой мыши и откройте Свойства .
- Откройте вкладку Войти .
- Нажмите Учетная запись локальной системы .
- Не устанавливайте флажок Разрешить взаимодействовать с рабочим столом .
- Нажмите Применить
- Перейдите на вкладку Общие .
- Нажмите Пуск , чтобы перезапустить службу.
- Закройте инструмент Services.
Это может произойти, если служба RPC не запущена из-за сбоя входа в систему со службой или службы зависимостей, поскольку некоторым приходится ждать запуска своих служб зависимостей, прежде чем они сами запустятся.
- ТАКЖЕ ЧИТАЙТЕ: экран входа в систему Windows 10 медленный, завис, заморожен [FIX]
Решение 2. Измените пароль для указанной учетной записи пользователя, чтобы он совпадал с текущим паролем для того же пользователя.
Вот как настроить пароль для указанной учетной записи пользователя, чтобы он соответствовал текущему паролю для этого пользователя:
ТАКЖЕ ПРОЧИТАЙТЕ: лучшее программное обеспечение для восстановления паролей в Windows 7, которое сэкономит вам время
Решение 3. Восстановите право пользователя на вход в систему в качестве службы
Если право на вход в систему в качестве службы аннулировано для учетной записи пользователя, восстановите его на контроллере домена или рядовом сервере (автономно) в зависимости от вашей ситуации.
Как восстановить права пользователя на контроллере домена
Вот как это сделать, если пользователь находится в домене Active Directory:
Как восстановить права пользователя на рядовом сервере (автономно)
Вот как это сделать, если пользователь является участником автономного рядового сервера:
- Запустите оснастку MMC «Локальные параметры безопасности».
- Разверните Локальные политики.
- Нажмите Назначение прав пользователя .
- Нажмите правой кнопкой мыши Войти в систему как сервисна правой панели.
- НажмитеДобавить пользователя или группу .
- Введите имя, которое вы хотите добавить в политику, в поле Имена пользователей и групп .
- Нажмите OK .
- Закройте оснастку MMC «Локальные параметры безопасности».
Примечание редактора . Этот пост был первоначально опубликован в декабре 2017 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.
Всем привет, сегодня пишу наверное последнюю статью в этом году. Хочу поздравить всех с Новым годом, пожелать творческих успехов, счастья, любви, и только позитивных эмоций.
Сегодня столкнулся с интересной проблемой, у нас СТО, около 7 компьютеров, в сети они в локальной сети, и с доступом в интернет. На одном из них установлен принтер, который расшаренный, и соответственно подключен через локальную сеть и на все остальные компьютеры. Все вроде работало стабильно, и не каких проблем не было. Сегодня получил звонок, работники жалуются что не могут распечатать документы. С компьютера на котором установлен принтер печать работает без проблем, в том числе и с rdp. Пришлось ехать.
Пуск --> Настройки --> Панель управления -->Администрирование --> Службы
Если у вас все получилось, служба запустилась, и заработал доступ по сети. Поздравляю! У Вас проблема решена.
В моем случае вообще не оказалось этой службы.
2. Я запустил восстановление системы.
Пуск --> Программы --> Стандартные --> Служебные --> Восстановление системы
После восстановления, данная служба появилась.
Службу запустить мне так и не удалось, получил ошибку вида:
begin
SearchRootkit(true, true);
SetAVZGuardStatus(True);
DeleteFile('%PF%\Common Files\msado320.tlb');
RegKeyParamDel('HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters','Ser viceDll');
BC_ImportAll;
ExecuteSysClean;
BC_Activate;
ExecuteRepair(16);
RegKeyParamWrite('HKLM', 'SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters', 'ServiceDll', 'REG_EXPAND_SZ', '%SystemRoot%\System32\srvsvc.dll');
RebootWindows(true);
end.
Для чего нужна служба "Удаленный вызов процедур (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 недоступен ” ( 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 подключений:
Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Если RPC службы отключены и не запускаются, попробуйте активировать их через реестр. Найдите ветки этих служб в реестре и измените значение параметра Start на 2 (автоматический запуск службы):
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 .
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
Создайте в ветке реестра 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.
Читайте также: