Другие классы и функции пространств имен WMI

We use cookies. Read the Privacy and Cookie Policy

Другие классы и функции пространств имен WMI

WMI является неисчерпаемой темой для обсуждения, так как содержит просто огромное количество классов, не говоря уже о количестве функций, реализованных в этих классах. Для рассмотрения всех функций WMI (не говоря уже об объектах сервера сценариев Windows для доступа к файловой системе и реестру и их методах) необходимо писать отдельную книгу страниц где-то на 1000. Поэтому в контексте данной книги мы закончим обсуждение базы данных CIMOM и пространств имен WMI. Если же приведенных выше сценариев для вас мало, то в Интернете можно найти множество уже готовых сценариев работы с WMI. Кроме того, список всех классов, их функций, а также краткое описание работы этих функций можно найти в самой Windows XP. Краткие сведения обо всех функциях пространств имен WMI содержатся в файлах с расширениями MOF и MFL (в файлах с расширением MOF хранится описание функций на английском языке, а в файлах с расширением MFL — на русском), расположенных в каталоге %systemroot%system32wbem. Например, среди данных файлов можно найти файл sr.mof. В нем содержится описание всех классов, которые предназначены для работы с SystemRestore. Например, вот небольшая вырезка из файла, описывающая рассмотренный выше класс SystemRestore.

Листинг 11.8. Описание класса SystemRestore в файле sr.mof

[Dynamic, Provider ("SystemRestoreProv")] class SystemRestore {

 [read, write]

 String Description;

 [read, write]

 uint32 RestorePointType;

 [read, write]

 uint32 EventType;

 [read, write, key]

 uint32 SequenceNumber;

 [read, write] String CreationTime;

 [Implemented, static, Description("The CreateRestorePoint method creates a restore point." "It returns a COM error code.")]

 uint32 CreateRestorePoint([In] String Description, [In] uint32 RestorePointType, [In] uint32 EventType);

 [Implemented, static, Description "The Enable method enables SR on a drive." "It returns a COM error code.")]

 uint32 Enable([In] String Drive, [In] Boolean WaitTillEnabled);

 [Implemented, static, Description("The Disable method disables SR on a drive." "It returns a COM error code.")]

 uint32 Disable([In] String Drive);

 [Implemented, static, Description("The Restore method restores the system to a specified restore point." "It returns a COM error code.")]

 uint32 Restore([In] uint32 SequenceNumber);

 [Implemented, static, Description("Returns the status (0=fail, 1=success, 2=interrupted) of the last restore.")]

 uint32 GetLastRestoreStatus();

};

Как заметно из данной вырезки, с помощью класса SystemRestore можно определить, была ли успешной предыдущая попытка восстановления системы из контрольной точки, а также можно автоматически восстановить систему на основе указанной контрольной точки. К сожалению, не существует файла sr.mfl, хранящего описание на русском языке. Зато в каталоге %systemroot%system32wbem есть файл cimwin32.mfl, содержащий описание всех функций и классов пространства имен RootCIMV2 на русском языке. В каталоге %systemroot% system32wbem также находятся следующие интересные файлы.

? regevent.mfl — описывает работу с реестром Windows XP.

? licwmi.mfl — хранит свойства и методы для работы с функцией активизации Windows XP. В частности, метод для автоматической активизации операционной системы через Интернет.

? Msi.mfl — описывает свойства и методы для работы с пакетами установки Windows. Некоторые свойства из этого файла (класс Win32_Product) были рассмотрены ранее. Методы же, которые он поддерживает, позволяют удаленно установить пакет установщика Windows с правами системы.

? ntevt.mfl — хранит свойства и методы для работы с системными файлами журналов. В частности, методы очистки системных журналов или их копирования.

? rsop.mfl — описывает свойства и методы для работы с результирующей политикой (RSoP).

? secrcw32.mfl — хранит свойства и методы для работы с учетными записями компьютера, а также списками ACL и другими объектами безопасности компьютера.

? smtpcons.mfl — описывает свойства для работы с почтовыми сообщениями smtp-сервера.