Ошибка COMRuntime в Explorer.exe: несуществующий пользователь не может получить разрешения на доступ к серверу COM

Вопрос или проблема

так как у explorer нет appid, невозможно найти соответствующий компонент DCOM в Component Services. Я пытался изменить права доступа в компоненте Elevated-Unelevated Explorer Factory и напрямую редактировал разрешения в файле explorer.exe, но нет nt authority/local service пользователя – только local service группа, добавление ее в список доступа и предоставление привилегий не устраняет возникновение события. Explorer запускается нормально, со случайным Logon SID при старте. Тем не менее, я хочу исправить эту всплывающую ошибку.

https://dl.dropboxusercontent.com/u/110292940/explorer.png

Пользователь S-1-15-19 это LOCAL_SERVICE. Моя ошибка исчезла (пока) после выполнения следующих шагов:

  1. Запустите dcomcnfg и перейдите в Мой компьютер.
  2. Щелкните правой кнопкой мыши на Мой компьютер и выберите Свойства
  3. Выберите вкладку COM Security.
  4. В Launch and Activation Permission нажмите Edit Default
  5. Нажмите Add
  6. В Select Users or Groups нажмите Advanced.
  7. В Advanced (на самом деле, название панели все еще Select Users or Groups), нажмите Find Now
  8. Прокрутите вниз и выберите LOCAL_SERVICE
  9. Предоставьте Local Activation и Local Right для LOCAL_SERVICE
  10. Повторите те же действия (#5-8) для Edit Limits, также Access Permission Edit Limits и Edit Default.

ПРИМЕЧАНИЕ: Моя ОС – Win 8.1

Ответ или решение

Ошибки, связанные с COM-сервером и explorer.exe, могут вызвать значительные неудобства для пользователей Windows, особенно когда они проявляются в виде загадочных сообщений об ошибках, таких как «ошибка COMRuntime: отсутствующий пользователь не может получить доступ к COM-серверу». Данная проблема может возникать по нескольким причинам, включая неправильные настройки безопасности DCOM, отсутствие нужных разрешений для определенных пользователей или групп, а также ошибки конфигурации системных служб. В данном примере пользователь сталкивается с тем, что задание нужных прав в DCOM не помогает избавиться от сообщения об ошибке.

Теория: Понимание проблемы

Чтобы устранить такие ошибки, необходимо понять принципы работы DCOM и назначение COM-серверов в Windows. COM (Component Object Model) — это модель для создания программных компонентов, которые могут взаимодействовать друг с другом. DCOM (Distributed Component Object Model) — расширение этой модели, позволяющее взаимодействовать программным компонентам по сети.

Каждая COM-служба имеет идентификатор AppID, который можно использовать для настройки разрешений через консоль управления службами компонентов (dcomcnfg). Однако, explorer.exe не имеет AppID, что осложняет процесс настройки и диагностики.

Почему возникает ошибка?

Подобные ошибки могут возникать в случае:

  1. Неправильной конфигурации прав доступа для LOCAL_SERVICE.
  2. Обновлений системы, которые могут сбрасывать настройки безопасности.
  3. Ошибок в реестре Windows, что может повлиять на работу COM-серверов.
  4. Неправильного развертывания или конфигурации сред.

Пример: Шаг за шагом к решению

Как было отмечено пользователем, изменение настроек COM-безопасности через панель "Службы компонентов" может временно решить проблему. Вот подробный алгоритм действий, который использовался:

  1. Открытие консоли "Службы компонентов" с помощью команды dcomcnfg.
  2. Переход на вкладку "Свойства" объекта "Мой компьютер".
  3. Настройка "Безопасности COM", где пользователю предлагается редактировать разрешения по умолчанию, добавляя LOCAL_SERVICE.
  4. Назначение прав "Локальный запуск" и "Локальный вход в систему" для LOCAL_SERVICE.
  5. Повторение этих действий для других разделов, таких как "Edit Limits" ("Редактировать ограничения").

Применение: Решение проблемы в различных контекстах

Диагностика и исправление системных ошибок

  • Проверка обновлений системы: Обновления Windows могут вносить изменения в безопасность системы. Убедитесь, что все актуальные обновления установлены.

  • Сканирование и восстановление системных файлов: Запустите утилиты sfc /scannow и DISM /Online /Cleanup-Image /RestoreHealth, чтобы проверить целостность и восстановить поврежденные системные файлы.

Работа с настройками реестра

  • Резервное копирование реестра перед изменениями: Всегда создавайте резервную копию перед внесением изменений в реестр.

  • Проверка значений в реестре для DCOM: Перейдите к ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{APPNAME} и убедитесь, что настройки соответствуют требованиям.

Управление пользователями и группами

  • Проверка членов групп пользователей: Убедитесь, что пользователя LOCAL_SERVICE добавили правильно и что у него есть необходимые права доступа.

  • Создание нового пользователя или группы, если необходимо: Если стандартные настройки не помогают, возможно потребуется создать нового пользователя или группу с нужными правами.

Разрешение потенциальных конфликтов

  • Отключение конфликтующих служб и программ: Определите, работает ли другая программа или служба, которая может использовать те же ресурсы.

  • Использование журнала событий Windows для диагностики: Журнал событий Windows может содержать ценную информацию о причинах ошибок и предложить решения.

Все приведенные выше действия помогут избавиться от ошибки COMRuntime и обеспечить стабильную работу explorer.exe, что критически важно для общей функциональности системы Windows.

Оцените материал
Добавить комментарий

Капча загружается...