Параметры разрешений по умолчанию для компьютера не дают разрешения локально активация

Обновлено: 06.07.2024

Привет друзья. Ошибки в Windows далеко не всегда носят критический характер. Программы при этом не завершаются в аварийном режиме. Операционная система не зависает и не падает в BSOD. И вообще, видимо ничего не происходит.

Но они могут доставлять пользователям определенный психологический дискомфорт. Что с их операционной системой что-то не в порядке. Примером такой неполадки является ошибка 10016. Которая часто встречается как в Windows 10, так и в Windows 8.1.

Обнаруживается она обычно случайно при просмотре сведений в Журнале событий. Так как внешне в большинстве случаев неполадка себя никак не проявляет.Источником ошибки является DistributedCOM, что указывает на нелады с системной службой DCOM.

Которая по какой-то причине не смогла запустить то или иное приложение. Чаще всего это происходит по причине отсутствия у пользователя SYSTEM нужных прав. Также эта ошибка вызывается отключением связанных служб.

Исправляется ошибка 10016 в Windows 10 предоставлением системе полных прав на COM-объект. Который она не может запустить. Чтобы определить объект, необходимо знать его APPID и CLSID COM-сервера.

Это не составляет особой проблемы, поскольку все данные указываются в описании самой ошибки. Итак, перейдем ближе к делу. Открыв приложение «Просмотр событий», выберите Журналы Windows > Система и отфильтруйте записи по коду 10016.

Выбрав нужную запись, кликните по ней дважды, дабы открыть окошко свойств. В описании ошибки будет указано, что: «Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения.…» и так далее.

При этом в описании также будет указан CLSID проблемного компонента и его APPID. Ниже будет указан и пользователь, в данном примере СИСТЕМА. Скопируйте этот самый APPID в буфер обмена.

Откройте командой regedit встроенный в Windows 10 редактор реестра. Выделите в левой колонке «Компьютер». Нажмите F3 и выполните поиск по именам разделов, указав в качестве основного аргумента скопированный APPID.

Отыскав раздел, обратите внимание на значение параметра по умолчанию и запомните его. Оно вам еще пригодится. У меня это COM — объект RuntimeBroker. У Вас это может быть другое приложение. Нажмите по найденному разделу ПКМ, выберите в меню «Разрешения».

Затем нажмите в открывшемся окошке разрешений для групп «Дополнительно».

После этого Вам нужно будет заменить текущего владельца учетной записью «Администраторы». Для этого нажмите ссылку «Изменить».

Далее в новом окошке выбора пользователя или группы нажмите «Дополнительно».

Найдите через поиск запись «Администраторы».

Заменив текущего владельца, установите галочку в пункте «Заменить владельца подконтейнеров и объектов».

Сохранив настройки и вернувшись в окошко разрешений для групп, выделите учетную запись «Администраторы». Предоставьте ей полные права (разрешения). Точно так же найдите в реестре раздел, соответствующий CLSID в описании ошибки 10016.

Проделайте с ним те же манипуляции по замене владельца на Администраторы с предоставлением полных разрешений. Половина дела сделано, осталось только изменить разрешения для самого COM-объекта. Которым, как уже было определено, является RuntimeBroker.

Откройте командой comexp.msc или dcomcnfg штатную оснастку «Службы компонентов». Разверните ветку вплоть до пункта «Настройки DCOM».

Найдите приложение RuntimeBroker и откройте его свойства. В Windows 10 таких приложений может быть два. Вам нужно то, в свойствах которого на вкладке «Общие».

Код приложения должен совпадать с APPID в описании ошибки 10016. Переключитесь в этом окошке свойств на вкладку «Безопасность».

В разрешениях на запуск и активацию нажмите «Изменить». Если при этом вы получите запрос на удаление нераспознаваемых записей разрешений, сразу удаляйте их. После этого в окошке разрешений нажмите «Добавить».

Найдите и добавьте пользователя СИСТЕМА, который также упоминался в описании ошибки. Предоставьте ему права на локальный запуск и на локальную активацию. После чего последовательно сохраните все настройки и перезагрузите компьютер.

Если всё сделано правильно, то ошибка 10016 в Windows 10 не должна больше вас тревожить. Но учтите, что все вносимые вами изменения в настройки, могут не самым лучшим образом сказаться на безопасности системы. Поэтому, если ошибка 10016 не сопровождается сбоем в работе программ и системы, старайтесь обходиться без них.

date

11.02.2019

directory

Windows 10, Windows 7, Windows Server 2012 R2

comments

комментариев 16

Проблема проявляется следующим образом: в журнале событий системы при загрузке компьютера или попытке запуска/установки приложения появляется следующая ошибка:

Log Name: Система
Source: DistributedCOM
Event ID: 10016
Level: Ошибка
User: SYSTEM
Описание: Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID и APPID пользователю NT AUTHORITY\система с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

DistributedCOM ошибка 10016

В англоязычных версиях Windows описание ошибки такое:

The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID

and APPID Unavailable to the user IIS APPPOOL\appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

dcom 10016: not grant Local Activation permission for the COM Server application with CLSID and APPID

Судя по описанию ошибки: некий пользователь (например, IIS Apppool) или система (NT AUTHORITY\система) пытается запустить некий компонент COM с помощью инфраструктуры DCOM и не может этого сделать из-за отсутствия права «Локальный Запуск» или «Локальная активация» (Local Activation Permission). В коде ошибки содержатся только коды классов COM компонента и приложения. Попробуем определить, какому именно приложению принадлежит идентификатор и предоставить права, необходимые для его запуска.

Из описания события необходимо скопировать идентификаторы CLSID и APPID. В моем случае это

В каждом конкретном случае идентификаторы класса, приложения, учетной записи и типа доступа может отличаться.
  1. Запустите редактор реестра (regedit.exe);
  2. Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOT\CLSID\;
В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID. Чаще всего эта проблема возникает с компонентами:
Immersive Shell
CLSID:
APPID:
RuntimeBroker
CLSID:
APPID : Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой: mmc comexp.msc /32

security вкладка dcom не доступна

Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора.

Ошибка 10016

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система
Источник: DistributedCOM
Код: 10016

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID

и APPID
или или
пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

Событие 10016

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID

and APPID

to the user NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

Методы решения ошибки 10016

Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:

  • Назначаем недостающие права на ветку с GUID номером или другим, зависит от вашей ситуации с кодом ошибки 10016
  • Удаление некоторых ключей реестра
  • Использование скрипта PowerShell
  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «».
  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOT\AppID\. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.
  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.
  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы.
  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.
  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOT\AppID\ значение параметра «(По умолчанию)» = «RuntimeBroker«.

Ошибка 10016 в windows-1


8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.

Ошибка 10016 в windows-2


9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

Не дает отредактировать службу dcom при ошибке 10016

щелкаем по нему правым кликом и выбираем свойства.

runtimebroker exe windows 10-2

Даем права для группы администраторы (Полный доступ)

runtimebroker exe windows 10-3

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

runtimebroker exe windows 10-4

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID и APPID вы не должны больше увидеть.

В Windows 10 Anniversary Updat данная ошибка 10016 решается аналогично, так, что глюк тянется уже лет 5

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole

Ole - эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

Перед тем, как вы будите вносить изменения я вам советую на всякий случай сделать резервную копию реестра или ветки.

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Экспорт ветки реестра Ole

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Выгрузка ветки реестра при ошибке 10016

теперь находим все эти ключи, щелкаем по ним правым кликом мыши и удаляем со спокойной душей, далее я вам советую перезагрузить вашу систему. В подавляющем количестве случаев ошибка с кодом 10016 у вас больше не появится.

Устранение ошибки 10016

Исправление ошибки 10016 через PowerShell

Скачиваем тут сценарий DCOMPermissions.psm1

Исправление 10016 через powershell

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Grant-DCOMPermission -ApplicationID "" -Account "SYSTEM" -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Эти 10016 событий записываются, когда компоненты Microsoft пытаются получить доступ к компонентам DCOM без необходимых разрешений. Эти события обычно можно безопасно игнорировать, потому что они не влияют отрицательно на функциональность и являются преднамеренными.

Параметры разрешений для конкретного приложения не предоставляют разрешение локальной активации для приложения COM-сервера с CLSID и APPID пользователю NT AUTHORITY LOCAL SERVICE SID (S-1-5-19) с адреса LocalHost (с использованием LRPC), запущенного в контейнере приложения. Недоступный SID (недоступен). Это разрешение безопасности можно изменить с помощью инструмента администрирования служб компонентов.

Параметры разрешений для конкретного приложения не предоставляют локальную активацию

  1. Определите и подтвердите CLSID и APPID
  2. Измените владельца ключа CLSID из редактора реестра
  3. Изменить разрешение безопасности из служб компонентов

Прочтите, чтобы узнать подробности о шагах.

Параметры разрешений для конкретного приложения не предоставляют локальную активацию

Затем щелкните значок Передовой кнопка.

По умолчанию этот ключ принадлежит TrustedInstaller, но вам нужно изменить владельца на администратора. Для этого нажмите кнопку Изменять кнопка в Расширенные настройки безопасности окно> напишите «Администратор»> щелкните Проверить имена кнопку> щелкните Ok кнопка.

Также вам нужно выбрать Заменить владельца подконтейнеров и объектов флажок.

После этого выберите Администраторы от Группы или имена пользователей список и отметьте Разрешить / Полный доступ флажок. Теперь сохраните ваши настройки.


Вам нужно сделать то же самое, что и выше, чтобы изменить владельца этого ключа реестра.

Если у вас возникла проблема с изменением владельца ключа реестра, вы можете воспользоваться нашим бесплатным инструментом RegOwnit, который позволяет сделать это одним щелчком мыши.


Далее перейдите к Безопасность таб. Здесь можно найти три метки, в том числе Разрешения на запуск и активацию. Щелкните соответствующий Редактировать кнопка.

После добавления выбирайте по одному и дайте Локальный запуск и Локальная активация разрешения для них обоих.

Сохраните изменения, вы больше не получите ту же проблему в средстве просмотра событий.

Независимо от того, возникла ли у вас проблема с RuntimeBroker, Immersive Shell или любым другим процессом, решение будет одинаковым для всех.


Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.

Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.

Что означают ошибки DCOM 10016 в Windows 10

События с идентификатором 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM без требуемых в этом случае разрешений.

Компанией Microsoft создан сценарий работы, при котором системный код обращается за доступом к компонентам DCOM с предпочтительным набором параметров, и если доступ не предоставлен, код обращается снова с другим набором.

Служба поддержки Microsoft сообщает, что указанные ошибки заложены в работу ОС, происходят на всех ОС Windows 10 и могут быть проигнорированы пользователями без последствий для работы системы.



Ошибки с кодом 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM

Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.












Далеко не все случающиеся в Windows ошибки проявляют себя явно, так что пользователь может даже не подозревать о их наличии пока не откроет раздел «Система» в журнале событий Windows. Сегодня мы постараемся разобрать причины одной из таких ошибок. Встречается она довольно часто, причём во всех версиях Windows начиная с XP, имеет код 10016 и примерно следующее описание:

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID и APPID пользователю DESKTOP-AEM9850/компик с ИД безопасности…

Здесь приводится лишь часть описания ошибки, на деле оно может быть более объёмным и отличаться в деталях. Из описания следует, что пользователь DESKTOP-AEM9850/компик (пользователем может быть и система) пытается запустить некий COM-компонент, но не может этого сделать по причине отсутствия соответствующих прав. Что за компонент и какое именно приложение вызывает ошибку Windows прямо не указывает, всё что нам известно, это CLSID компонент и идентификатор приложения.


Задача заключается в том, чтобы определить, какому приложению принадлежит идентификатор, а затем предоставить пользователю или системе соответствующие права для его запуска. Проще всего это сделать через реестр. Откройте командой regedit редактор реестра и разверните ветку HKEY_CLASSES_ROOT/AppID. Воспользовавшись встроенным поиском, найдите в подразделе APPID приложения (в нашем примере это ).


После того как ключ будет найден, потребуется предоставить к нему полные права доступа пользователю, имя (первая его часть) которого указывается в описании. Для этого кликаем правой кнопкой мыши по ключу, выбираем «Разрешения»


И жмём в открывшемся окошке кнопку «Дополнительно».


Как видим, в данном примере владельцем ключа является TrustedInstaller. Заменим его администратором (пользователем DESKTOP-AEM9850).

Кликните по ссылке «Изменить».


Введите имя локального пользователя, нажмите «OK».


Установите галочку «Заменить владельца подконтейнеров и объектов» и еще раз нажмите «OK».


Теперь во второй раз откройте окошко разрешений для группы, выделите в нём администратора, коим был заменён TrustedInstaller, отметьте галочкой чекбокс «Полный доступ» и сохраните новые настройки.


Отлично, возвращаемся в редактор реестра и запоминаем значение параметра по умолчанию для найденного ранее ключа.


У нас это InstallAgent. Далее командой comexp.msc или dcomcnfg в окошке «Выполнить» открываем оснастку «Службы компонентов» и разворачиваем в меню «Компьютеры» -> «Мой компьютер» -> «Настройка DCOM» и находим компонент с именем параметра по умолчанию (InstallAgent). Через контекстное меню вызываем его свойства.


Переключаемся на вкладку «Безопасность», в блоке «Разрешения на запуск и активацию» жмём «Изменить».


Выбираем пользователя, устанавливаем галочки в чекбоксах «Локальный запуск» и «Локальная активация» после чего сохраняем настройки и перезагружаем компьютер.


В принципе, эти действия должны устранить ошибку, если только её появление было связано с отсутствием необходимых прав доступа, однако стопроцентной гарантии, что всё будет именно так дать нельзя.

Сделать копию реестра

Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.

Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.

Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.

Шаг 1. Нажать клавиши «Win+R».



Нажимаем клавиши «Win+R»

Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».



Печатаем в меню «regedit» и щелкаем «ОК»

Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).



Нажимаем «File», щелкаем «Export»

Шаг 4. В следующем окне о («Все»).



О

Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.



Выбираем папку для размещения копии реестра и вводим ее имя

Шаг 6. Щелкнуть «Save» («Сохранить»).



Щелкаем «Save»

Исправление ошибки 10016 через PowerShell

Скачиваем тут сценарий DCOMPermissions.psm1


Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .\DCOMPermissions.psm1 Grant-DCOMPermission -ApplicationID «» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.


Далее вы можете посмотреть примененные разрешения:

Вы увидите права у системы, у нее будет SID S-1-5-10.






Признаки возникновения ошибки

Понять, что на компьютере произошла именно ошибка 6008 можно по характерным признакам. С основными из них вы можете ознакомиться ниже:

  • Во время работы с какой-либо программой появляется окно «Ошибка 6008», а само приложение сразу же закрывается.
  • Компьютер самостоятельно завершает работу при открытии программы или после появления окна с ошибкой.
  • Операционная система работает очень медленно, а нажатия по кнопкам мыши или клавиатуры отображаются с задержкой.
  • ПК периодически перестает реагировать на все действия, выполняемые пользователем – попросту «зависает».

Если вы столкнулись с подобными признаками, то это весомый повод попробовать избавиться от ошибки.

Устранение неполадок в WMI

Любой бывалый Windows-админ не раз сталкивался с проблемами в работе службы WMI и ее компонентах.

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

О наличии проблем с WMI может свидетельствовать широкий спектр ошибок:

  • Ошибки обработки WMI запросов в системных журналах и логах приложений
  • Ошибки GPO, завязанные на WMI ( некорректная работа wmi фильтров политик, и пр.)
  • Ошибки в работе / невозможность установки агентов SCCM/SCOM
  • Ошибки в работе скриптов (vbs или powershell), использующих пространство имен WMI

В первую очередь нужно проверить имеется ли в системе служба Windows Management Instrumentation (Winmgmt) и включена ли она.

Если служба присутствует и находится в состоянии Started, рекомендуется протестировать работоспособность WMI, обратившись к ней с помощью простого wmi-запроса. С помощью Powershell, например, это можно сделать так:

Если при выполнении простейшего WMI-запроса система возвращает ошибку (на скриншоте приведен пример корректного ответа службы WMI), вероятно имеет место некорректное функционирование сервиса WMI или ряда его подсистем, повреждение репозитория WMI или другие проблемы.

Утилита WMIDiag

Для «тонкой» диагностики службы WMI существует официальная утилита Microsoft — WMIDiag (Microsoft WMI Diagnosis).

Утилита представляет собой vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:\USERS\%USERNAME%\APPDATA\LOCAL\TEMP\).

Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.1 и включает в себя следующие типы фалов :

  • .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag
  • .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание
  • В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI

В общем случае, WMIDiag может дать информацию по исправлению частных ошибок в WMI , но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей гораздо проще «бить по площадям» и решать проблему работы WMI более радикально.

Перерегистрация библиотек WMI и перекомпиляция mof файлов

Следующий скрипт представляет собой «мягкий» вариант восстановления работоспособности службы WMI на отдельно взятом компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.

sc config winmgmt start= disabled net stop winmgmt cd %windir%\system32\wbem for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s wmiprvse /regserver winmgmt /regserver sc config winmgmt start= auto net start winmgmt for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s

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

Пересоздание репозитория (хранилища) WMI

В том случае, если предыдущий способ не помог, придется перейти к более «жесткому» способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилища.

WMI репозиторий (хранилище) находится в каталоге %windir%\System32\Wbem\Repository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов.

В некоторых случаях репозитория WMI может содержать статическую информацию классов.

При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

В том случае, если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание это последняя вещь, к которой нужно прибегнуть только в том случае, если никакие другие операции реанимировать WMI не помогают.

В Windows Vista и выше проверить целостность репозитория WMI можно с помощью команды:

Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:

И перезапустить службу wmi:

net stop Winmgmtnet start Winmgmt

Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:

В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:

sc config winmgmt start= disabled net stop winmgmt cd %windir%\system32\wbem winmgmt /kill winmgmt /unregserver winmgmt /regserver winmgmt /resyncperf if exist Repos_bakup rd Repos_bakup /s /q rename Repository Repos_bakup regsvr32 /s %systemroot%\system32\scecli.dll regsvr32 /s %systemroot%\system32\userenv.dll for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s sc config winmgmt start= auto net start winmgmt wmiprvse /regserver

Что такое DistributedCOM

В первую очередь необходимо разобраться, что такое DistributedCOM, и почему этот объект вызывает ошибку. DistributedCOM — это Distributed Component Object Model, неотъемлемая часть взаимодействия сетей на персональных компьютерах и ноутбуках под управлением операционной системы виндовс. Это своего рода технология от «Майкрософт», срабатывающая всякий раз, когда компьютер или какое-либо приложение выполняет подключение к Глобальной сети.


Ошибка 10016 не сулит ничего страшного, но в устранении нуждается

К сведению! Стандартная Component Object Model способна получать доступ к файлам только на машине, с которой она была запущена, а Distributed Component Object Model может работать с данными на удаленных серверах.

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



Изменение разрешений для объектов

Читайте также: