Исправление ошибки идентификатора события 10016: сервер DCOM не имеет разрешений на локальную активацию для PCNAME Username SID

Недавно на моем ПК с Windows 8.1, из ниоткуда, я начал получать ошибки в журнале событий после установки обновлений во вторник исправлений. Ошибка связана с распределенным COM (DCOM):

Параметры разрешений для конкретного приложения не предоставляют разрешение локальной активации для приложения 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 (поиск Windows COM-объект).

Следующим шагом было присвоение этому CLSID/AppID правильных разрешений на локальную активацию, которые он хотел, — моего идентификатора безопасности пользователя (SID) и идентификатора безопасности приложения. Для этого в Windows имеется инструмент «Службы компонентов», который позволяет пользователю изменять разрешения на запуск и активацию, права доступа и разрешения конфигурации на COM-серверах.

Откройте «Инструменты администрирования» -> «Службы компонентов». Разверните Службы компонентов -> Компьютер -> Мой компьютер -> Конфигурация DCOM. Найдите WSearch и щелкните его правой кнопкой мыши -> Свойства. Перейдите на вкладку «Безопасность».

Сделав это, я увидел, что на вкладке «Безопасность» для этого COM-объекта все было выделено серым цветом (отключено), поэтому мне нужно было предоставить моей учетной записи полные разрешения. в Реестре сначала. Я снова открыл Regedit и перешел к тому же ключу

 HKEY_CLASSES_ROOT  AppID  {9E175B9C-F52A-11D8-B9A5-505054503030} 

и изменил разрешения. Сначала вы должны стать владельцем (установите флажок «Заменить владельца подконтейнеров и объектов»), а затем добавьте свое имя пользователя и предоставьте ему полный доступ. После этого вы можете изменить право собственности на исходную учетную запись (NT Service TrustedInstaller).

Принять владение и предоставить права администратора чрезвычайно просто с приложением RegOwnershipEx от Winaero.

Теперь я повторно открыл службы компонентов (Dcomcnfg.exe) и перешел в свойства WSearch, вкладку «Безопасность» и теперь смог редактировать разрешения безопасности для разрешений на запуск и активацию, которые показаны как это:

Через группу безопасности Все, моя учетная запись пользователя уже имеет разрешения на локальную активацию, но также показаны 3 других идентификатора безопасности, которые не являются известными учетными записями пользователей или группами, как указывает их значок. Это идентификаторы безопасности приложения и относятся к приложениям. В сообщении об ошибке журнала событий также указано: «… выполняется в контейнере приложения Недоступный SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).

Теперь пользовательский интерфейс средства выбора объектов Windows, похоже, не позволяет добавлять SID приложений для объектов-участников безопасности. Поэтому после нажатия кнопки «Добавить» я щелкнул «Дополнительно …», а затем «Найти сейчас». В результате будут перечислены все объекты. Но большинство из них были идентификаторами безопасности учетных записей. . Я заметил «ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ», которые, как следует из названия, вероятно, являются группой для всех пакетов приложений, поэтому я выбрал ее. Нажмите «ОК» везде, чтобы добавить ее, а затем предоставьте ей разрешения на локальный запуск и локальную активацию.

Теперь, после нажатия OK и закрытия пользовательского интерфейса служб компонентов, ошибка исчезла из Журнал событий, который означает, что COM-компонент WSearch теперь имеет правильные разрешения на локальный запуск и активацию.

Я написал эту статью как общее руководство, чтобы помочь кому-либо еще устранять ошибки DCOM в своем журнале событий аналогичным образом. Меня все еще беспокоит, почему в Windows до сих пор нет инструмента для простого восстановления правильных разрешений для COM-объектов в случае их сбоя.

Оцените статью
digitdocom.ru
Добавить комментарий