Другие классы и функции пространств имен WMI
Другие классы и функции пространств имен 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-сервера.