Недавно на моем ПК с Windows 8.1, из ниоткуда, я начал получать ошибки в журнале событий после установки обновлений во вторник исправлений. Ошибка была связана с распределенным COM (DCOM):
на каком языке закодирована League of Legends
Параметры разрешений для конкретного приложения не предоставляют разрешение локальной активации для приложения COM-сервера с CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} и APPID {9E175B9C-F52A-11D8-B9A5-505054503030} пользователю PCNAME Username SID. S-1-5-21-81864976-3388411891-1937036257-1001 с адреса LocalHost (с использованием LRPC), запущенного в контейнере приложения Недоступный SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). Это разрешение безопасности можно изменить с помощью инструмента администрирования служб компонентов.
Такая сложная ошибка может вызвать разочарование у неопытных пользователей. Они не знакомы с этой терминологией. Кроме того, устранение ошибок DCOM - это боль, поэтому я сначала проигнорировал это, но журнал событий был полон ими, поскольку это происходило примерно каждый час. Решив исправить это, я решил разобраться.
Реклама
Для тех из вас, кто не знает, COM - это старая объектно-ориентированная технология межпроцессного взаимодействия Microsoft. COM-сервер - это исполняемый файл (EXE или DLL), который реализует набор COM-объектов. Многие компоненты Windows реализованы как объекты COM и следуют стандартным правилам COM для взаимодействия друг с другом. COM-серверы зарегистрированы в реестре и имеют идентификатор класса (CLSID) и APPID.
Первым шагом к устранению этой ошибки было выяснение, к какому компоненту DCOM относятся CLSID и APPID. Итак, запустите редактор реестра и перейдите к этому ключу реестра:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
Этот ключ реестра также указывает на тот же AppID, что и сообщение об ошибке: {9E175B9C-F52A-11D8-B9A5-505054503030}. Итак, следующий переход к
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
Это говорит мне, что это компонент WSearch (COM-объект Windows Search).
Следующим шагом было назначить этому CLSID / AppID правильные разрешения локальной активации, которые он хотел, - моего идентификатора безопасности пользователя (SID) и SID приложения. Для этого Windows предоставляет инструмент Component Services, который позволяет пользователю изменять разрешения на запуск и активацию, права доступа и разрешения конфигурации на COM-серверах.
Откройте «Администрирование» -> «Службы компонентов». Разверните Службы компонентов -> Компьютер -> Мой компьютер -> Конфигурация DCOM. Найдите WSearch и щелкните его правой кнопкой мыши -> Свойства. Перейдите на вкладку «Безопасность».
Сделав это, я увидел, что все было выделено серым цветом (отключено) на вкладке «Безопасность» для этого COM-объекта, поэтому мне сначала нужно было предоставить моей учетной записи полные разрешения в реестре. Я снова открыл Regedit и перешел к тому же ключу
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
и изменил разрешения. Сначала вы должны стать владельцем (установите флажок «Заменить владельца подконтейнеров и объектов»), а затем добавьте свое имя пользователя и предоставьте ему полный доступ. После этого вы можете сменить владельца на исходную учетную запись (NT Service TrustedInstaller).
Взять на себя ответственность и предоставить права администратора очень просто с Winaero's RegOwnershipEx приложение.
Теперь я повторно открыл службы компонентов (Dcomcnfg.exe) и перешел в свойства WSearch, вкладку «Безопасность» и теперь смог изменить разрешения безопасности для разрешений на запуск и активацию, которые показаны следующим образом:
Через группу безопасности «Все» моя учетная запись пользователя уже имеет разрешения на локальную активацию, но также показаны 3 других идентификатора безопасности, которые не являются известными учетными записями пользователей или группами, как указывает их значок. Это идентификаторы безопасности приложений и относятся к приложениям. В сообщении об ошибке журнала событий также говорилось: «... выполняется в контейнере приложения недоступен SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
Теперь пользовательский интерфейс средства выбора объектов Windows, похоже, не позволяет добавлять SID приложений для объектов участников безопасности. Итак, после нажатия кнопки 'Добавить' я щелкнул 'Дополнительно ...', а затем 'Найти сейчас'. Это перечислит все объекты. Но большинство из них были SID аккаунтов. Я заметил «ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ», которые, как следует из названия, вероятно, представляют собой группу для всех пакетов приложений, поэтому я выбрал ее. Повсюду нажмите ОК, чтобы добавить его, а затем предоставьте ему разрешения на локальный запуск и локальную активацию.
как отключить уведомление о моем дне рождения на фейсбуке
Теперь, после нажатия кнопки «ОК» и закрытия пользовательского интерфейса служб компонентов, ошибка исчезла из журнала событий, что означает, что компонент COM WSearch теперь имеет правильные разрешения на локальный запуск и активацию.
Я написал эту статью как общее руководство, чтобы помочь другим аналогичным образом устранять ошибки DCOM в их журнале событий. Меня все еще беспокоит, почему в Windows до сих пор нет инструмента для простого восстановления правильных разрешений для COM-объектов в случае их сбоя.