I. Ошибка — "отказано в доступе".
1) Сначала определим действительное имя службы: Панель управления / Система и безопасность / Администрирование / Службы. Найдите нужную Вам и откройте ее свойства. Во вкладке "Общее" имя службы (рис. 1).
2) Искомое имя службы ищем в ветке в реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices.
3) Правый клик по службе, и в контекстном меню выбираем пункт "Разрешения".
4) Для нормальной работы службы, группы "Система" и "Администраторы" должны иметь полный доступ (рис. 2).
II. Ошибка запуска службы. Эта ошибка означает, что у вас отключена служба. Чтобы запустить ее нужно сделать следующее:
1) Открываем Пуск / Панель управления / Система и безопасность / Администрирование / Службы (рис.1) .
2) В списке находим нужную. По двойному клику открываем свойства службы.
3) Устанавливаем тип запуска — "Автоматически". Запускаем службу там же с помощью кнопки "Запустить".
4) Если служба не включается то стоит проверить вкладку "Вход в систему" и убедиться что запуск службы производится от системной, или известной вам учетной записи.
III. Ошибка — "Системе не удается найти указанный путь".
1) В этом случае необходимо проверить параметр службы ImagePath: Он может быть изменен или указывать на несуществующий файл. Чтобы выяснить правильные параметры запуска службы воспользуйтесь справочником по службам.
2) Если путь правильный, но файл отсутствует, воспользуйтесь "Восстановлением системы": Программы / Стандартные / Служебные / Восстановление системы (рис.3) или утилитой в командной строке — "sfc". Sfc — проверяет системные файлы и в случае необходимости восстанавливает (понадобится установочный диск Windows).
После перезагрузки компа не запустилась служба "Удаленный вызов процедур (RPC)". Очень многое зависит от этой службы. В итоге не работает восстановление системы, сетевое окружение, звук, Windows Installer, почти не работает консоль управления (MMC), на панели задач не показываются открытые окна и т.д. и т.п. Попытка ручного запуска приводит к ошибке "Неудается запустить . (RPC) на xxxComp. Ошибка 5: Отказано в доступе". Антивирус ничего не нашел. Два дня копаний и комп удалось вернуть к жизни.
По рекомендации Microsoft, первое, что пробовал, найти и удалить ветку реестра [HKLMSYSTEMCurrentControlSetHardware ProfilesCurrentSystemCurrentControlSetEnumROOTLEGACY_RPCSS] . Ее у меня не оказалось, возможно в результате каких-то установленных обновлений.
Далее, попытка восстановить параметры службы в реестре. Поскольку regedit.exe работал только на чтение/удаление (еще один побочный эффект), не получилось внести изменения. Да они и не нужны были, т.к. все было верно. Должно выглядеть вот так:
Значение параметра start может отличаться. Изменить реестр все же можно, но при этом нужно загрузиться с MS ERD commander.
Следующие шаги просто распишу по пунктам. Общая идея в том, что нужно заменить файлы на заведомо рабочие. Их можно взять с другой машины или из дистрибутива Windows (как я сделал).
- Запустить консоль (Пуск > Выполнить: cmd)
- cd z:i386 (там дистрибутив Windows)
- expand explorer.ex_ %TEMP%explorer.exe
- expand svchost.ex_ %TEMP%svchost.exe
- Запустить Диспетчер задач (Ctrl+Shift+Esc)
- Остановить процесс exlporer.exe
- copy %TEMP%explorer.exe %SYSTEMROOT% /y
- Остановить все процессы svchost.exe. Внимание! После этого у вас будет 60 секунд до перезагрузки машины.
- copy %TEMP%svchost.exe %systemroot%system32 /y
Этот финт тоже не дал результатов. Еще вариант: запустить проверку всех защищенных системных файлов с заменой неправильных версий правильными. В консоли выполнить:
sfc /PURGECACHE — Очистка файлового кэша и немедленная проверка файлов
sfc /SCANONCE — Разовая проверка при следующей загрузке
Не помогло.. Тогда совсем брутальный ход — восстановление параметров безопасности. Опять же в консоли:
secedit /configure /cfg %windir%
epairsecsetup.inf /db secsetup.sdb /verbose
После перезагрузки комп заработал, базовые сервисы стартовали. Появился новый косяк (а может он был с самого начала): под моей учеткой не запускался, как минимум, менеджер управления дисками и Windows Installer. Отказано в доступе. Можно через консоль восстановить права доступа к системному диску "по умолчанию":
secedit /configure /db %TEMP% emp.mdb /Cfg %WINDIR%infdefltwk.inf /areas filestore
После чего нужно в ручную определить права для каждой учетки к [c:Documents and SettingsUserXXX] или пересоздать их, смотря что проще.
В моем случае я просто назначил одинаковые права на весь системный диск, взяв за эталон доступ к каталогу [c:windows] . К эталону добавил свою учетку в домене с полными правами к диску. Может это неправильно с точки зрения безопасности, но копаться с каждым каталогом отдельно у меня времени нет.
Что еще можно было предпринять
Пока комп "болел" вот этого не было в реестре:
Возможно ручное добавление как-то бы изменило ситуацию.
Попытки ручного запуска сервиса, например через команду "net start rcpss" заканчивались ошибкой "Error 5: access denied". Я предполагаю, отказано в доступе потому, что сервис должен запускаться под учеткой системы — "NT AUTHORITY". В реестре есть такой параметр:
Я бы попытался вписать сюда админскую учетку и опять запустить сервис. Но это только идея, не дожившая до реализации.
Еще вариант: использование эксплоита KiTrap0D для получения консоли с правами системы. Об этом эксплоите писали в Хакере. Собственно бинарник здесь. Вот только у меня стоят виндовские обновки, так что похоже данный эксплоит уже не работает.
Похожие материалы: Флешка с LiveCD
Понравилась статья? Расскажите о ней друзьям:
В разделе «Свойства системы / Удаленный доступ» включена функция «Разрешить удаленные подключения к этому компьютеру». Также в Service Manager / Local Server «Удаленный рабочий стол» включен.
Однако служба «Службы удаленных рабочих столов», указанная в разделе «services.msc», не работает и не может быть запущена — операция запуска отключена.
Я бы не подумал, что роль «Службы удаленных рабочих столов» потребуется для разрешения подключения RPD администратора? (В какой-то момент он был установлен, а затем удален) — это сбивает с толку различие между этими двумя функциями.
Есть идеи о том, как заставить службу RDP работать в целях администратора?
3 ответа
У меня возникла проблема с сервером брокеров 2012R2 в течение нескольких месяцев. Каждый раз, когда я исправлял сервер и перезагружал сервер RD Broker, он не запускался полностью. Единственные КБ, на которые я мог найти все ссылки, на которые вы не можете / не должны запускать роль RD Broker на контроллере домена. Я не был! Единственным выходом для меня было выполнить переустановку роли RD Broker и воссоздать ферму RD.
Служба удаленного рабочего стола не запускается с ошибкой -2010841087 и постоянными сообщениями об ошибках, которые не могут быть найдены сервером посредника.
Обнаружено, что база данных ‘RDCmc’ находилась в режиме ожидания восстановления. Я просто отключил БД в автономном режиме, а затем снова включил ее (нажмите правой кнопкой мыши БД -> Задачи -> Онлайн / Оффлайн). Служба управления удаленными рабочими столами была запущена, и коллекции RD снова появились.
Убедитесь, что версия клиента удаленного рабочего стола поддерживает аутентификацию на уровне сети. Также убедитесь, что пользователь или группа указаны на экране Выбор пользователей в Свойствах системы. Чтобы устранить проблемы с маршрутизацией и брандмауэром, вы можете запустить telnet localhost 3389 из командной строки и посмотреть, подключится ли он. Если это так, то служба точно отвечает на запросы на подключение, и вы можете попробовать то же самое с удаленного компьютера. Изменить. Замените localhost именем удаленного хоста. Попробуйте IP-адрес, если проблема в DNS.
Примечание к сайту. Если команда telnet не установлена, вы можете добавить ее с помощью команды ocsetup TelnetClient , которая чувствительна к регистру.