Приложение для инвентаризации рабочих станций ЛВС
Рефераты >> Коммуникации и связь >> Приложение для инвентаризации рабочих станций ЛВС

Количество и содержимое пространств имен зависит от операционной сис­темы, а также от используемой версии WMI и установленных в системе приложений. Отметим при этом, что в любом варианте установки WMI имеются четыре предопределенных пространства имен, которые всегда на­ходятся на один уровень ниже корневого пространства имен: CIMV2, Default, Security и WMI. Некоторые пространства имен содержат другие пространства. Например, в CIMV2 определены подпространства имен Applications и ms_409.

В операционных системах Windows Server 2003 и Windows XP репозиторий CIM физически располагается в четырех файлах каталога %System-Root%\System32\Wbem\ Repository\FS:

- index.btr (индексный файл);

- objects.data (репозиторий CIM, в котором хранятся описания управляе­мых ресурсов);

- index.map и object.map (файлы контроля над транзакциями).

В более ранних версиях Windows CIM представлена одним файлом cim.rep, который в случае Windows 2000/NT находится в каталоге %SystemRootr%\System32\Wbem\Repository, а в случае Windows 9х/Ме — в каталоге %WinDir%\ System\Wbem\Repository.

6.5 Путь к классам и объектам CIM

Все классы внутри одного пространства имен должны иметь уникальные име­на (при этом имена классов из разных пространств могут совпадать), причем класс в одном пространстве имен не может иметь предка или потомка из другого пространства. Для идентификации классов и объектов внутри про­странства имен в CIM нужно задавать путь к этим классам и объектам (object path), аналогично тому, как это делается, например, в пространства имен файловой системы. Напомним, что любой файл на диске однозначно опреде­ляется полным путем к нему следующим образом: нужно указать имя устрой­ства, после которого следуют одно или несколько имен каталогов и непосред­ственно имя файла. Другими словами, в файловой системе используется иерархическая структура каталогов и файлов различной степени вложенности. В отличие от этого, у пространств имен CIM имеется только один уровень в глубину, а для идентификации объекта задействуются свойства объектов, которые рассматриваются как ключи. Другими словами, каждый экземпляр класса должен быть однозначно идентифицируемым по своим ключевым па­раметрам. Полный путь к хранящемуся в CIM классу или объекту-экземпляру класса (управляемому устройству) имеет следующую структуру:

[ \ \ComputerName] [ \Namespace] [ :ClassName] [ . KeyProperty1 = Value1

[, KeyProperty2=Value2 .] ]

Здесь \\ComputerName — это сетевое имя компьютера, на котором располо­жен нужный класс или объект (для задания имени локального компьютера можно использовать символ "."), \Namespace — название пространства имен, в котором находится этот класс или объект, ClassName — имя класса. Па­раметры KeyProperty1 и Value1, KeyProperty2 и Value2, задают список ключевых пар (свойство-значение) объекта. Например, следующий путь:

\\.\CIMV2:Win32_Process.Name="Notepad.exe"

определяет процесс (экземпляр класса Win32_Process из пространства имен CIMV2) с именем "Notepad.exe", который запущен на локальной машине.

Другой пример — построение пути к объекту WMI, соответствующему деся­той записи в журнале событий приложений на компьютере с именем \\CPU3. В WMI для представления записей в журнале событий строятся объекты-экземпляры класса Win32_NTLogEvent. Этот класс хранится в про­странстве имен CIMV2, а для идентификации конкретного экземпляра клас­са Win3 2_NTLogEvent используются два ключевых свойства символьного ти­па: LogFile (тип журнала событий) и RecordNumber (символьное представление порядкового номера записи в журнале). Поэтому полный путь к объекту в нашем примере будет иметь следующий вид:

WCPU3\CIMV2:Win32_NTLogEvent.LogFile^"Application",

RecordNumber="1"

6.6 Структура классов WMI

Напомним, что всякому ресурсу, управляемому с помощью WMI, соответст­вует специальный класс WMI; каждый класс имеет четко определенную структуру и содержит свойства, методы и квалификаторы (свои квалификаторы могут быть также у свойств и методов). Классы описываются с помо­щью специального языка MOF (Managed Object Format), который, в свою очередь, базируется на языке IDL (Interface Definition Language), применяе­мом для описания интерфейсов СОМ-объектов. После определения струк­туры класса с помощью MOF разработчик может добавить откомпилиро­ванное представление этого класса в репозиторий CIM с помощью стандартной утилиты mofcomp.exe.

6.6.1 Основные типы классов CIM

В CIM существует три основных типа классов, различающихся между собой по способу хранения информации об управляемых ресурсах:

- абстрактный класс (abstract class) — это шаблон, который служит исклю­чительно для образования новых классов-потомков (абстрактных и неаб­страктных). Абстрактный класс не может непосредственно использовать­ся для получения экземпляра управляемого ресурса;

- статический класс (static class) определяет данные, которые физически хранятся в репозитории CIM (к такому типу относятся, например, дан­ные о собственных настройках WMI). Вследствие этого для доступа к эк­земплярам статических классов не нужно прибегать к помощи каких-либо провайдеров;

- динамический класс (dynamic class) моделирует управляемый ресурс, дан­ные о котором соответствующий провайдер возвращает в динамическом режиме.

Кроме трех основных типов классов в CIM выделяется еще один специаль­ный тип — ассоциативный класс (association class). Это абстрактный (стати­ческий или динамический класс), который описывает логическую связь меж­ду двумя классами или управляемыми ресурсами (например, ассоциативный класс Win32_SystemProcesses связывает класс Win32_Process, экземпляры которого соответствуют запущенным в системе процессам, с классом Win32_ComputerSystem, в котором представлены общие настройки компью­терной системы).

Кроме этого, все классы CIM можно разделить на четыре группы по при­надлежности к различным информационным моделям:

- системные классы. Системными называются те классы, которые служат для задания конфигурации и выполнения внутренних функций WMI (определение пространств имен, обеспечение безопасности при работе с пространствами имен, регистрация провайдеров, подписка на события WMI и формирование сообщений о наступлении таких событий). Сис­темные классы могут быть абстрактными или статическими. Системные классы можно легко отличить от других по названию — имена всех сис­темных классов начинаются с символов " " (двойное подчеркивание), на­пример, SystemClass, NAMESPACE, Provider ИЛИ Win32 Provider;

- классы модели ядра (основной модели) (core model). К этой модели отно­сятся абстрактные классы, которые обеспечивают интерфейс со всеми областями управления. Названия таких классов начинаются с префикса " CIM _". Примерами классов модели ядра могут служить класс CIM_ManagedSystemEiement (свойства этого класса идентифицируют управ­ляемые Компоненты системы) И его наследники CIM_LogicalElement (описание логического управляемого ресурса, например, файла или ката­лога) и CIM_PhysicalElement (описание физического управляемого ре­сурса, например, периферийного устройства);


Страница: