WinMgmt – обслуживание Инструментария управления Wundows (WMI).
Технология WMI — это универсальное средство мониторинга и управления распределённой информационной средой в операционных систем семейства Windows. Она обеспечивает доступ к любым параметрам операционной системы, оборудованию, системным службам, драйверам и приложениям. Важной особенностью WMI является то, что хранящиеся в нём объекты (Objects) соответствуют динамическим ресурсам и не могут храниться постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы %SystemRoot%\System32\WBEM\Repository .
Средства инструментария управления Windows, в том числе и консольная утилита winmgmt.exe располагаются в системном каталоге %SystemRoot%\System32\WBEM\ . Путь каталога WMI всегда присутствует в переменной PATH ОС семейства Windows, что позволяет использовать утилиты управления WMI без указания полного пути исполняемого файла.
Формат командной строки winmgmt.exe:
winmgmt [/backup ] [/restore ] [/resyncperf] /standalonehost [ ]] [/sharedhost] [/verifyrepository [ ]] [/salvagerepository] [/resetrepository]
Параметры командной строки:
/backup — WMI получает команду сохранить архивную копию базы данных с указанным именем файла. Аргумент «имя_файла» должен содержать полный путь к местоположению файла. Для этого процесса необходима блокировка записи в базу данных, что позволяет приостанавливать операции записи в базу данных до окончания архивации.
/restore — Восстанавливает базу данных WMI из указанного архивного файла. Аргумент «имя_файла» должен содержать полный путь к местоположению архивного файла. Для восстановления WMI сохраняет существующую базу данных для обратной записи на случай сбоя операции. Затем база данных восстанавливается из архивного файла, указанного в аргументе «имя_файла». Если не удается получить монопольный доступ к базе данных, существующие клиенты отключаются от WMI. Аргумент «флаг» должен иметь значение 1 (принудительно — отключение пользователей и восстановление) или 0 (по умолчанию — восстановление, если пользователи не подключены), при этом он указывает режим восстановления.
/resyncperf — Регистрирует системные библиотеки производительности в WMI.
/standalonehost [ ] — Перемещает службу Winmgmt в автономный процесс Svchost, который имеет фиксированную конечную точку DCOM. По умолчанию установлена конечная точка ncacn_ip_tcp.0.24158 . Тем не менее, конечную точку можно изменить, запустив Dcomcnfg.exe. Аргумент «уровень» является уровнем проверки подлинности для процесса Svchost. Если уровень не указан, по умолчанию используется значение 4 (RPC_C_AUTHN_LEVEL_PKT) . Допустимые уровни проверки подлинности в порядке возрастания уровня безопасности:
/sharedhost — Перемещает службу Winmgmt в общий процесс Svchost, обслуживающий группу из нескольких служб. Служба ”Инструментарий управления Windows” использует для запуска модуль svchost.exe и может быть сконфигурирована как служба winmgmt , входящая в состав группы netsvcs (sharedhost), либо как отдельная служба winmgmt группы winmgmt (standalonehost). В обоих случаях при запуске службы будет загружаться одна и та же динамическая библиотека WMIsvc.dll, однако доступ к ней во втором случае более ограничен настройками по умолчанию для группы winmgmt. Стандартно, служба ”Инструментарий управления Windows” конфигурируется как sharedhost
/verifyrepository [ ] — Выполняет проверку согласованности базы данных WMI. При добавлении модуля /verifyrepository без аргумента проверяется обновляемая база данных, используемая WMI в настоящее время. Если указать аргумент «путь», можно будет проверить любую сохраненную копию базы данных. В таком случае аргумент «путь» должен содержать полный путь к сохраненной копии базы данных. Сохраненная база данных должна представлять собой папку с целой базой данных.
/salvagerepository — Выполняет проверку согласованности базы данных WMI и при обнаружении несогласованности перестраивает базу данных. Если содержимое несогласованной базы данных можно прочитать, оно добавляется в перестроенную базу данных. Операция восстановления всегда работает с базой данных, которая используется в настоящее время службой WMI. Файлы MOF, содержащие инструкцию препроцессора автоматического восстановления #pragma, восстанавливаются в базу данных.
/resetrepository — База данных восстанавливается в исходное состояние на момент установки операционной системы. Файлы MOF, содержащие инструкцию препроцессора автоматического восстановления #pragma, восстанавливаются в базу данных.
Примеры использования WinMgmt
winmgmt — при запуске без параметров командной строки программа отображает краткую справку по использованию.
winmgmt /backup C:\backup\wmibackup — сохранить резервную копию WMI в файле C:\backup\wmibackup.
winmgmt /restore C:\backup\wmibackup — восстановить базу данных WMI из сохраненной копии C:\backup\wmibackup . Восстановление будет выполнено, если нет активных подключений к базе данных.
winmgmt /restore C:\backup\wmibackup 1 — восстановить базу данных WMI из сохраненной копии C:\backup\wmibackup . Перед восстановлением будет выполнен сброс активных подключений к базе данных.
winmgmt /resyncperf — перерегистрировать счетчики производительности. Требуется если монитор производительности отображает неправильные результаты оценки производительности системы.
winmgmt /standalonehost — перенастроить службу ”Инструментарий управления Windows” на конфигурацию с использованием отдельного процесса Svchost. Командная строка для запуска службы в данном случае будет иметь вид:
%systemroot%\system32\svchost.exe -k winmgmt
winmgmt /sharedhost — перенастроить службу ”Инструментарий управления Windows” на конфигурацию с использованием общего для сетевых служб процесса Svchost. Командная строка для запуска службы в данном случае будет иметь вид:
%systemroot%\system32\svchost.exe -k netsvcs
winmgmt /verifyrepository — проверить целостность текущей базы данных WMI
winmgmt /verifyrepository c:\backup\Repository.001 — Проверить целостность базы данных WMI, размещенной в каталоге c:\backup\Repository.001
winmgmt /salvagerepository — проверить целостность текущей базы данных WMI и, при обнаружении ошибок – перестроить ее. Команда относится только к текущей базе WMI, используемой службой ”Инструментарий управления Windows” (короткое имя службы — Winmgmt)
winmgmt /resetrepository — выполнить сброс базы данных WMI к исходному состоянию, как после установки Windows. Перед сбросом выполняется копирование текущей базы данных в каталог Repository.00N . Где N увеличивается на 1 при каждом новом выполнении команды. Обычно данная команда выполняется при возникновении ошибок в базе данных, которые невозможно исправить с помощью команды winmgmt /salvagerepository и нет резервной копии, созданной командой winmgmt /backup
Для более углубленной диагностики инструментария управления Windows можно воспользоваться дополнительным средством от Microsoft WMIdiag или стандартной командой wmic /trace:ON .
Wbem.exe — Что это такое? Как это можно исправить?
Обычно причиной ошибок, связанных с исполняемым файлом EXE при запуске программного обеспечения MSDN Disc 0217, является повреждение или отсутствие файлов wbem.exe. Основной способ решить эти проблемы вручную — заменить файл EXE новой копией. В качестве последней меры мы рекомендуем использовать очиститель реестра для исправления всех недопустимых wbem.exe, расширений файлов EXE и других ссылок на пути к файлам, по причине которых может возникать сообщение об ошибке.
Windows Executable File форматы классифицируют в качестве Исполнимые файлы, и они имеют расширение EXE. В таблице ниже представлен список доступных для загрузки файлов wbem.exe, подходящих для большинства версий Windows (включая %%os%%). Для скачивания доступны не все версии wbem.exe, однако вы можете запросить необходимых файл, нажав на кнопку Request (Запрос) ниже. В нашей обширной базе представлены не все версии файлов; в этом случае вам следует обратиться к Microsoft.
Поместите новый файл wbem.exe на место предыдущего (перезаписав предыдущий). Проблема больше не должна возникать, однако, чтобы убедиться в этом окончательно, следует выполнить проверку. Проверьте результат замены файла, запустив MSDN Disc 0217 и проверив выводится ли возникающая ранее ошибка.
Wbem что это за папка
С самой первой версии операционная система Windows NT включала в себя встроенные средства мониторинга производительности и системных событий. Прикладные программы и сама система обычно выдают сообщения об ошибках и диагностические сообщения с помощью Event Manager. Встроенная в Windows NT утилита Event Viewer позволяет администраторам просматривать события, произошедшие как на локальном компьютере, так и на других машинах в сети. Подобным образом Performance API позволяет прикладным программам и подсистемам собирать статистику по производительности, которую администраторы затем могут просмотреть через Performance Monitor.
Хотя средства NT для сбора статистики о событиях в системе и производительности отвечают большинству требований, они все же имеют ряд ограничений. Например, интерфейсы программирования этих средств отличаются друг от друга, что увеличивает сложность прикладных программ сбора данных, контролирующих и события и производительность. Эффективность Performance API может быть низкой, особенно в сети, так как этот интерфейс может предоставить «все или ничего»: у приложения нет возможности запросить информацию о производительности отдельных компонентов. Вероятно, самый существенный недостаток современных средств контроля состоит в том, что они имеют очень небольшую расширяемость, и ни одно не обеспечивает возможность двухстороннего взаимодействия с API управления, которое так необходимо. Обычно прикладные программы предоставляют данные в определенных форматах для регистрации событий или сбора других данных. Performance API не дает приложению никакой возможности для получения уведомлений о событиях, связанных с производительностью, и прикладные программы, которые запрашивают у Event Manager уведомления о событиях, не могут ограничить извещение отдельными типами событий или данных. Наконец, клиенты или средства сбора информации не имеют возможности связываться с источником событий или рабочих данных через Event Manager или Performance API. Создание интерфейса Windows Management Interface (WMI) — следующий шаг к реализации усовершенствованной поддержки управления средствами Windows. WMI разработан специалистами Microsoft на базе технологии управления предприятием через Web — Web-Based Enterprise Management (WBEM). WBEM — это стандарт, определенный консорциумом Distributed Management Task Force (DMTF). WBEM определяет структуру расширяемого набора данных о предприятии и возможности администрирования, необходимые для управления локальными и удаленными системами, включающими произвольные компоненты. Разработчики Microsoft реализовали WMI в Windows 98 и в Win95 OSR2, сделали его доступным для NT 4.0, начиная с Service Pack 4 (SP4), и, наконец, интегрировали в Windows 2000. Тем не менее в большей степени WMI предназначен для использования в Windows 2000. Так как независимые производители уже начали поставлять инструментальные средства управления, основанные на WMI, администраторы получат возможность удаленно управлять всеми компонентами своих систем (Windows 2000, NT или 9x). В этой статье мы заглянем внутрь WMI. То, что здесь будет рассказано о WMI, применимо ко всем платформам Windows, но при обсуждении подробностей выполнения я буду делать акцент на Windows 2000.
Архитектура WMI
Архитектура WMI состоит из четырех сегментов, показанных на Рисунке 1: управляющие программы (management applications), ядро WMI (WMI infrastructure), провайдеры (providers), или поставщики, и управляемые объекты (managed objects). Управляющие программы — это приложения Windows, которые обращаются к данным и отображают или обрабатывают данные, полученные от управляемых объектов. Простой пример управляющей программы — использование технологии WMI (вместо API) в Performance Monitor. Более сложный пример — инструмент управления предприятием, который позволяет администраторам автоматически отслеживать конфигурации программного обеспечения и оборудования каждого компьютера на предприятии.
РИСУНОК 1. Архитектура WMI
Обычно разработчики настраивают свои управляющие программы на специфические объекты, чтобы собрать данные о них и управлять ими. Объект может представлять собой один компонент, такой, как сетевой адаптер, или множество компонентов, таких, например, как компьютер (объект «компьютер» может содержать объект «сетевой адаптер»). Провайдеры задают и экспортируют представления объектов, которыми управляют приложения. Например, если продавец сетевого адаптера хочет, чтобы адаптер был WMI-совместимым, он должен разработать «поставщика услуг», который служит интерфейсом к адаптеру: запрашивает и устанавливает состояние и поведение его атрибутов, как того требуют управляющие приложения. В некоторых случаях (например, при использовании драйвера устройств) Microsoft поставляет такого поставщика услуг, который имеет собственный API, для упрощения разработки дополнений (plugins) и кодирования.
Инфраструктура WMI связывает приложения управления и провайдеров, а также играет роль хранилища классов-объектов и, во многих случаях, менеджера памяти для устойчивых объектных свойств. WMI осуществляет хранение (работает как репозитарий), подобно базе данных на жестком диске. WMI, как часть своей инфраструктуры, поддерживает несколько API, с помощью которых приложения управления обращаются к объектным данным, а провайдеры поставляют данные и определения класса.
Программы Win32 используют WMI COM API — главный API управления — для прямого взаимодействия с WMI. Другой уровень API — на вершине COM API — включает ODBC-адаптер для доступа к базе данных Microsoft Access. Разработчик базы данных использует WMI ODBC-адаптер, чтобы внедрить ссылки на объектные данные в своей базе данных. Затем разработчик может без труда составлять отчеты с помощью запросов к базе данных, которые содержат WMI-данные. Компоненты WMI ActiveX поддерживают API другого уровня. Разработчики Web используют средства управления ActiveX для создания сетевых интерфейсов к WMI-данным. Другой способ управления предполагает применение сценарного API WMI, для использования в сценариях и приложениях Visual Basic. Средства создания сценариев WMI существуют для VBScript, JScript, Active Server Pages (ASP) и HTML.
WMI-интерфейсы COM, которые используются управляющими приложениями, представляют собой основной интерфейс API для провайдеров. Однако, в отличие от приложений управления, которые являются COM-клиентами, провайдеры — это COM- или DCOM-серверы (т. е. провайдеры дополняют COM-объекты, взаимодействующие с WMI). Провайдер WMI может быть реализован в виде DLL, которые загружаются в процесс администратора WMI, в виде автономных приложений Win32 или сервисов Win32. Microsoft поставляет ряд встроенных провайдеров, которые предоставляют данные из известных источников, таких, как Performance API, системный реестр и журнал событий. Средства WMI SDK позволяют создавать независимым разработчикам собственные продукты с функциональностью WMI-провайдеров.
Провайдеры
В основе WBEM лежит спроектированная в DMTF спецификация Common Information Model (CIM). CIM определяет, КАК системы управления представляют структуру компьютера, приложения или устройства. Разработчики провайдера используют CIM для представления управляемых компонентов, составляющих приложение. Для удобства реализации компонентов в стандарте CIM разработчики применяют язык Managed Object Format (MOF).
Помимо определения объектов провайдер должен связать с ними WMI. WMI классифицирует провайдеров согласно свойствам, которые те обеспечивают. В Таблице 1 перечислены спецификации WMI-провайдера. Стоит отметить, что провайдер может выполнять не одну функцию; поэтому провайдером может быть, например, и класс, и источник событий. Чтобы прояснить определения свойств в Таблице 1, приведу пример провайдера, который наделен большинством этих свойств. Источник (провайдер) событий EventLog определяет несколько объектов, включая EventLog Computer, EventLog Record, EventLog File. Провайдер EventLog Computer — поставщик классов, поскольку он определяет объекты, используя классы, и должен предоставлять описания этих классов WMI. Данный провайдер является также поставщиком экземпляров, так как он может предоставить несколько экземпляров для каждого из своих классов. Один из таких классов — EventLog File. Провайдер EventLog предоставляет экземпляры для каждого из журналов системных событий (system’s event logs) (например, журналы системных событий, прикладных событий, событий в системе безопасности).
Провайдер EventLog определяет экземпляр данных и предоставляет управляющим приложениям возможность нумеровать записи, а также запрашивать определенные свойства записей журнала событий. Это свойство позволяет классифицировать провайдера EventLog как поставщика свойств. Чтобы обеспечить управляющим программам возможность использовать WMI для архивирования и восстановления журналов событий, провайдер EventLog дополняет объекты класса Event Log File методами Backup и Restore. Это позволяет отнести провайдера EventLog к числу поставщиков методов. Наконец, управляющая программа может зарегистрироваться для получения сообщений о появлении новых записей в одном из журналов. Таким образом, провайдер EventLog, использующий WMI для уведомления о появлении новых записей в журнале событий, является поставщиком событий.
CIM и MOF
CIM подобен объектно-ориентированным языкам программирования C++ и Java, в которых проектировщик создает представления в виде классов. Использование классов дает разработчику возможность задействовать всю мощь технологии моделирования наследования и композиции. Подклассы могут наследовать определенные атрибуты родительских классов и добавлять собственные свойства или переопределять свойства, унаследованные от родительских классов. Класс, который наследует свойства другого класса, является наследником родительского класса. Классы также могут иметь сложное наследование: разработчик может построить класс, являющийся производным от нескольких родительских классов.
DMTF предоставляет несколько классов как часть WBEM-стандарта. Эти классы — основа CIM; они обеспечивают интерфейс ко всем областям управления и являются частью модели ядра CIM. Примером такого класса может служить CIM_ManagedSystemElement. Этот класс содержит несколько основных свойств, которые идентифицируют физические компоненты, такие, как устройства, и логические компоненты, такие, как файлы. Свойства включают заголовок, описание, дату установки и статус. Таким образом, классы CIM_LogicalElement и CIM_PhysicalElement наследуют атрибуты класса CIM_ManagedSystemElement. Оба эти класса также являются частью модели ядра CIM. Стандарт WBEM называет их абстрактными, так как они существуют исключительно как родительские для других классов (т. е. не может существовать экземпляра абстрактного класса). Поэтому абстрактные классы можно представлять как шаблоны, определяющие свойства для использования в других классах.
Другая категория классов представляет объекты, которые являются специфическими для задач управления, но не зависят от конкретной реализации. Эти классы составляют общую модель и рассматриваются как расширение основной модели. Примером класса общей модели может служить класс CIM_FileSystem, наследующий свойства класса CIM_LogicalElement. Поскольку фактически каждая операционная система, будь то Windows 2000, Linux или другие версии UNIX, использует файловую систему как основную структуру хранения информации, класс CIM_FileSystem является естественной составляющей общей модели.
Последняя категория классов включает специфические для каждой технологии дополнения к обычному классу. Windows 2000 определяет большое число таких классов для представления объектов, специфических для среды Win32. Поскольку все операционные системы хранят данные в файлах, общая модель CIM включает класс CIM_LogicalFile. Класс CIM_DataFile является наследником класса CIM_LogicalFile, и Win32 добавляет классы Win32_ PageFile и Win32_ShortCutFile для соответствующих типов файлов операционной системы Win32.
Провайдер EventLog широко использует наследование. На Экране 1 показан вид WMI CIM Studio — браузера для просмотра классов, поставляемого с WMI SDK (Microsoft поставляет WMI SDK с MSDN). Он позволяет увидеть, где провайдер EventLog использует наследование в классе Win32_NTEventlogFile, который и образуется от CIM_DataFile. Файлы EventLog являются файлами данных, имеющими специфические атрибуты, такие, как имя файла журнала и количество содержащихся в нем записей. По дереву, которое показывает браузер, видно, что класс Win32_ NTEventlogFile имеет сложное наследование, в котором класс CIM_ DataFile — наследник CIM_LogicalElement, а CIM_LogicalElement — наследник CIM_ManagedSystemElement.
ЭКРАН 1. Просмотр наследования классов с помощью браузера классов CIM Studio.
Как я упоминал вначале, разработчики провайдеров WMI-классов пишут свои классы на языке MOF. Экран 2 показывает определение класса Win32_NTEventlogFile, который был выбран на Экране 1. Отметим корреляцию между первыми шестью свойствами в правой панели списка на Экране 1 и определениями этих же свойств MOF-файла на Экране 2. CIM Studio использует желтые стрелки, чтобы показать наследование подобных свойств от родительского класса. Поэтому мы не видим определений этих свойств в определении класса Win32_ NTEventlogFile. Один из терминов, который в связи с этим стоит рассмотреть, — динамический (DYNAMIC) провайдер. Он является описательным указателем (характеристикой) для класса Win32_ NTEventlogFile, показанного в MOF-файле на Экране 2. Этот термин означает, что инфраструктура WMI запрашивает WMI-провайдера о значениях свойств, ассоциированных с классом, тогда, когда управляющее приложение запрашивает эти свойства. СТАТИЧЕСКИМ является тот класс, для которого провайдер сохраняет свойства в репозитарии WMI; инфраструктура WMI ссылается на репозитарий для получения значений, а не опрашивает для этого провайдера. Поскольку модифицирование репозитария — операция относительно дорогая, динамические провайдеры более эффективны для объектов, у которых изменение свойств происходит часто.
ЭКРАН 2. Определение класса Win32_NTEventlogFile.
После создания классов в MOF разработчики WMI могут вставить определения класса в WMI несколькими путями. Первый путь предполагает компиляцию MOF-файла в бинарный MOF(BMF)-файл — более компактное бинарное представление, чем MOF-файл, — и размещение BMF-файла в инфраструктуре WMI. Другой путь для провайдера — это компилировать MOF и использовать WMI API COM, чтобы предоставить определения классов WMI-инфраструктуре. Наконец, провайдер может использовать инструмент mofcomp, чтобы непосредственно дать WMI-инфраструктуре откомпилированное представление класса.
Пространства имен WMI
Классы определяют свойства объектов, и экземпляры класса представляют объекты в системе. WMI использует пространство имен, содержащее несколько подпространств, которые WMI упорядочивает иерархически, чтобы организовать экземпляры объектов. Прежде, чем управляющее приложение сможет обращаться к объектам в пределах пространства имен, оно должно подключиться к нему.
WMI называет пространство имен корневого каталога root. Все варианты установки WMI имеют четыре предопределенных пространства имен, которые постоянно находятся ниже корня: CIMV2, Default, Security и WMI. Некоторые из этих пространств имен имеют внутри себя другие пространства. Например, CIMV2 включает пространства имен Applications и ms_409, как подпространства имен. Провайдеры иногда определяют свои собственные пространства имен; встречаются пространства имен WMI (которые определяет провайдер WMI драйверов устройств Windows) ниже корня Windows 2000. В отличие от пространства имен файловой системы, которая включает иерархию каталогов и файлов, у пространства имен WMI — только один уровень в глубину. Вместо использования имен для идентификации объектов, как это делается в файловой системе, WMI задействует свойства объектов, которые определены как ключи. Управляющие приложения определяют имена класса с ключевыми названиями, чтобы указать определенные объекты в пределах пространства имен. Таким образом, каждый экземпляр класса должен быть уникально идентифицирован по своим ключевым параметрам. Например, провайдер EventLog использует класс Win32_NTLogEvent для представления записей в журнале событий. У этого класса два ключа: LogFile и RecordNumber, тип обоих — строка. Управляющие приложения, которые делают запрос WMI на экземпляры записей в журнале событий, получают от провайдера ключевые пары, идентифицирующие запись. Приложение ссылается на запись, используя синтаксис, который показан в примере: \\MARKLAPTOP\CIMV2: Win32_ NTLogEvent .Logfile=»Application», RecordNumber=»1″.
Первый компонент в имени идентификатора — компьютер, на котором объект расположен, а второй — пространство имен, в котором объект постоянно находится. Имя класса следует за двоеточием, а ключевые названия и их связанные значения следуют за точкой. Запятая отделяет ключевые значения.
Ассоциации классов
ЭКРАН 3. Просмотр зависимости классов.
Многие типы объектов так или иначе связаны с друг другом. Например, объект «компьютер» имеет процессор, программное обеспечение, операционную систему, активные процессы и т. д. WMI позволяет провайдерам создавать классы зависимости, чтобы задать логическую взаимосвязь между двумя различными классами. Классы зависимости сопоставляют один класс с другим, поэтому имеют только два свойства. Поскольку свойства — это ссылки на классы, они состоят из имени класса и модификатора Ref. На Экране 3 показана зависимость, в которой MOF-файл провайдера EventLog ассоциирует класс Win32_ NTLogEvent с классомWin32_ComputerSystem. Получая объект, приложение управления может сделать запрос ассоциированным объектам. Таким образом провайдер создает иерархию объектов.
На Экране 4 показан WMI-браузер объектов Object Browser (еще одно средство разработки, включенное в SDK) с корнем пространства имен CIMV2. Системные компоненты Win32 обычно размещают свои объекты в пределах пространства имен CIMV2. Object Browser сначала выводит экземпляр объекта Win32_ComputerSystem MARKLAPTOP, который соответствует компьютеру. Затем он получает объекты, связанные с Win32_ComputerSystem, и отображает их ниже MARKLAPTOP. Интерфейс пользователя Object Browser обозначает связанные объекты значком «папка с двойной стрелкой». Связанные с типом класса объекты отображаются ниже папки.
ЭКРАН 4. Применение браузера объектов Object Browser для просмотра корня пространства имен.
Object Browser показывает, что зависимый класс провайдера файла регистрации событий Win32_NTLogEventComputer расположен ниже MARKLAPTOP и что существуют многочисленные образцы класса Win32_NTLogEvent. На Экране 3 видно, как MOF-файл определяет класс Win32_NTLogEventComputer, чтобы сопоставить класс Win32_ ComputerSystem с классом Win32_ NTLogEvent. Указание экземпляра события Win32_NTLogEvent в Object Browser позволяет увидеть свойства класса в правой области окна. Microsoft Object Browser, по замыслу его создателей, должен был помогать WMI-разработчикам исследовать объекты, хотя приложение управления выполнило бы те же самые действия и представило информацию более понятным способом.
Реализация WMI
Инфраструктура WMI представлена прежде всего исполняемым файлом \winnt\system32\wbem\winmgmt.exe. Это служба Windows 2000, которая запускается при старте управляющего приложения через Service Control Manager или при первом обращении провайдера WMI к WMI API. Большинство компонентов WMI постоянно находятся в \winnt\system32 и \winnt\system32\wbem, включая MOF-файлы Win32, встроенный провайдер DLL и управляющее приложение WMI DLL. В каталоге \winnt\system32\wbem можно найти ntevt.mof — MOF-файл провайдера журнала событий EventLog, а также ntevt.dll, библиотеку DLL провайдера EventLog, которую загружает winmgmt.exe.
Каталоги ниже \winnt\system32 \wbem вмещают репозитарий, файлы журналов и MOF-файлы. WMI реализует репозитарий, называемый Object Management CIM (CIMOM) репозитарием, как файл \winnt\system32\wbem\repository\cim.rep. Служба WinMgmt выбирает многочисленные параметры настройки, связанные с репозитарием (включая различные параметры, такие, как расположение резервной копии CIMOM и интервалы копирования), из раздела системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM.
Разработчики Microsoft хотели расширить возможности управления всеми аспектами Windows 2000, так что пришлось создать механизм взаимодействия драйверов устройств с WMI. Драйверы устройств используют несколько новых интерфейсов для предоставления данных WMI и исполнения команд, получаемых от WMI. Команды WMI System Control commands названы в Microsoft командами управления системой. Разработчики присвоили название провайдера Windows Driver Model (WDM) провайдеру драйверов устройств, потому что одинаковые интерфейсы WMI в драйверах Windows 2000 существуют и для Win98-драйверов. Поскольку это кросс-платформенные интерфейсы, они включены в зону ответственности WDM, кросс-платформенную архитектуру драйверов устройств. Windows 2000 размещает объекты WDM в пространстве имен \root\wmi.
Система безопасности WMI
WMI осуществляет защиту на уровне пространства имен. Если приложение управления успешно соединяется с пространством имен, то оно имеет право просматривать свойства всех объектов и обращаться к ним в этом пространстве. Администратор может использовать приложение управления WMI для контроля доступа пользователей к пространству имен. Чтобы запустить приложение управления WMI, следует выбрать Start/Administrative Tools/Computer Management. Затем нужно открыть Services and Applications, щелкнуть правой кнопкой мыши на WMI Control и выбрать Properties, чтобы открыть диалоговое окно WMI Control (Local) Properties, показанное на Экране 5. Чтобы настроить защиту для пространства имен, на закладке Security следует выбрать нужное пространство имен и нажать Security. Другие закладки в диалоговом окне позволяют изменять функции и резервировать параметры настройки, хранимые в системном реестре.
ЭКРАН 5. Настройка системы безопасности пространства имен.
В NT появилась возможность управления предприятием
Хотя в довольно короткой статье был охвачен целый ряд аспектов, функциональные возможности WMI на самом деле гораздо шире. Гибкость WMI и универсальность его применения в Windows 2000 делают этот механизм мощной технологией программного обеспечения среднего уровня, которой с успехом могут пользоваться поставщики инструментальных средств для управления предприятием.
Марк Русинович
доктор философии в области вычислительной техники Университета Карнеги-Меллон и один из соавторов многих популярных утилит для Windows NT, включая NTFSDOS, Filemon, Regmon и Recover. С ним можно связаться по электронной почте по адресу: mark@sysinternals.com, или через Web-узел http://www.sysinternals.com.
Таблица 1. Спецификации провайдера.
| Провайдер | Описание |
|---|---|
| Класс | Может вызывать, изменять, удалять, просматривать класс, специфичный для провайдера. Также поддерживает выполнение запросов. |
| Экземпляр | Может вызывать, изменять, удалять, просматривать экземпляры системы и классы, специфичные для провайдера. Также поддерживает выполнение запросов. |
| Свойство | Может вызывать и изменять значения индивидуальных свойств. |
| Метод | Вызывает методы, специфичные для класса провайдера. |
| Событие | Формирует уведомления о событии. |
| Потребитель | события Ставит в соответствие физического потребителя событий логическому для передачи уведомлений о событиях. |
WBEM — что это за папка?

Приветствую друзья! Сегодня постараемся узнать что это за папка WBEM, зачем она нужна, может ее вообще можно удалить? Постараюсь все узнать и написать простыми словами.
WBEM — что это такое?
Папка компонента WMI Provider Host, который необходим для работы некоторого ПО.
WBEM расшифровывается как Web-Based Enterprise Management (управление предприятием через интернет). Представляет из себя инструментарий управления, предназначенный для просмотра и изменения классов, экземпляров и методов CIM (Common Information Model — общая модель данных) при разработке поставщиков и программ WMI (Windows Management Instrumentation — инструментарий управления Windows).
Расположена по такому пути:
Внутри есть файл wmiprvse.exe:

WBEM — как уменьшить размер?
Внимание! Способ уменьшить размер WBEM почти безопасный, но есть низкая вероятность, что будут глюки после удаления данных, и что даже точка восстановления не поможет.
Важно! Провел эксперимент. В Windows 10 в обычном режиме, не останавливая службу, при помощи утилиты Unlocker удалил папку repository. Для удаления нужна была перезагрузка. После — полет нормальный, папка repository создалась заново с нулевым размером, глюков не заметил.
Сперва обязательно создайте точку восстановления:
- Зажмите Win + R, укажите команду control или control panel, нажмите ОК.
- Откроется панель управления, здесь найдите значок Система, запустите.
- Далее слева нажмите Защита системы.
- Выберите системный диск (С) и нажмите кнопку Создать.
- Укажите название точки, например До очистки папки WBEM. Нажмите Создать.

Скорее всего папка WBEM много весит из-за другой папки внутри — repository, также могут быть еще копии с названием repository.xxx, где xxx — случайные цифры. Алгоритм действий:
- Проверьте, что у вас отключен контроль учетных записей UAC.
- Перезагружаемся в безопасный режим.
- Останавливаем службу Инструментарий управления Windows (Windows Management Instrumentation).
- Открываем C:\Windows\System32\wbem
- Теперь главное. Внутри WBEM будет папка repository, также могут быть папки-клоны с названием repository.xxx, где xxx — случайные цифры. Если папок repository.xxx много и они весят прилично — удаляем их (предварительно скопировав в другое место). Если папок repository.xxx нет, а есть только repository — тогда удаляем ее (предварительно скопировав в другое место). Если будут проблемы с удалением — используем утилиту Unlocker.
- Выполняем перезагрузку.
- При первой перезагрузке могут быть проблемы — подвисания, не обращаем внимание, дожидаемся полной загрузки и потом снова перезагружаемся.
- Вторая перезагрузка должна уже быть быстрее, а третья — нормальной.
- Если отключали контроль учетных записей (UAC), то включаем его обратно.
Если после этого будут проблемы:
- Восстанавливаем ПК до предыдущего состояния при помощи точки восстановления.
- Если проблемы все равно останется — возвращаем назад папки repository, но только в безопасном режиме, отключив службу. Хотя скорее всего это не потребуется, точка восстановления должна все восстановить.
Заключение
- WBEM — папка системного компонента WMI Provider Host, который нужен для работы некоторого софта.
- Удалять именно WBEM — не стоит. Внутри могут быть папки repository большого размера, вот их можно попробовать удалить, предварительно создав точку восстановления.