Роман Клименко - Недокументированные и малоизвестные возможности Windows XP
■ Win32_OSRecoveryConfiguration — определяет установленные настройки выполнения дампа памяти при аварийной остановке системы и содержит следующие свойства.
• DebugFilePath — возвращает путь к файлу дампа памяти, который будет создаваться при возникновении аварийной остановки.
• MiniDumpDirectory — возвращает каталог, который используется для хранения малых дампов памяти.
• WriteToSystemLog — указывает, будет ли выполняться запись в системный журнал событий при возникновении аварийной остановки. Если возвращает значение false, то не будет.
ПРИМЕЧАНИЕ
Класс содержит 11 свойств, поэтому за описанием других свойств обращайтесь к файлу cimwin32.mfl, расположенному в каталоге %systemroot%SYSTEM3wbem.
■ Win32_Process — указывает запущенные в данный момент на удаленном или локальном компьютере процессы и содержит следующие свойства, возвращающие:
• ExecutablePath — пути к исполняемым файлам процессов, запущенных в данный момент;
• MaximumWorkingSetSize — максимальный набор страниц памяти, доступных процессам;
• PageFaults — количество ошибок страниц, которые были допущены в течение всего времени работы процесса;
• PageFileUsage — объем файла подкачки, который используется процессом в данный момент;
• ProcessId — идентификатор процесса;
• QuotaPagedPoolUsage — размер используемой процессом в данный момент части выгружаемого пула;
• CommandLine — командную строку, которая использовалась для запуска данного процесса.
ПРИМЕЧАНИЕ
Класс содержит 30 свойств, поэтому за описанием других свойств обращайтесь к файлу cimwin32.mfl, расположенному в каталоге %systemroot%SYSTEM3wbem.
■ Win32_StartupCommand — определяет файлы, запускаемые при входе пользователя в систему. При этом возвращаются не только исполняемые файлы, но и файлы других типов (независимо от расширения файла, если исполняемая программа обращается к данному файлу, то класс считает, что файл запускается при входе пользователя в систему). Например, на компьютере автора данный класс вернул около 4582 файлов, которые запускаются при входе пользователя в систему. Класс содержит следующие свойства.
• Command — возвращает командную строку, с помощью которой запускаются исполняемые файлы, или имя файла, который запускается исполняемым.
• User — имя учетной записи пользователя, при входе которого запускается данный файл (так описание свойства определено в файле cimwin32.mfl, хотя возвращаемое значение больше похоже на имя учетной записи, с правами которой данный файл запускается).
• Name — название запускаемого файла (без расширения).
• Location — значение Startup, говорящее о том, что данный файл запускается с помощью папки Автозагрузка, или ветвь реестра, из которой выполняется запуск данного файла.
■ Win32_NTEventlogFile — определяет параметры настройки системных журналов (рассмотренная оснастка Просмотр событий) и содержит следующие свойства:
• LogFileName — возвращает имя системного журнала;
• MaxFileSize — определяет предельный размер файла системного журнала;
• NumberOfRecords — возвращает количество записей, хранящихся в данный момент в системных журналах;
• OverwriteOutDated — количество дней, в течение которого запись может храниться в системном журнале.
■ Win32_AccountSID — определяет учетные записи и группы, созданные на данном компьютере. Класс содержит следующие два свойства.
• Element — перечисляет все доступные на компьютере группы и учетные записи. При этом разница между данными объектами отображается в виде класса, к которому они принадлежат (формат вывода в текстовый файл таков: пространство имен WMI и класс, к которому принадлежит данная учетная запись или группа, а также название данной учетной записи или группы,например, \MErootcimv2 :Win32_Group.Domain="ME",Name="Администраторы").
• Setting — перечисляет SID учетных записей и групп, созданных на данном компьютере.
Это далеко не все возможные классы и их свойства. Автор не брал на себя ответственность по полному их описанию. Тем не менее уже по описанным свойствам можно понять, что инструментарий управления WMI позволяет получить описание если не всех параметров работы компьютера и установленных на нем приложений, то большинства из них. А если учитывать, что 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-сервера.
Стандартные сценарии сервера сценариев
Напоследок хотелось бы описать стандартные сценарии сервера сценариев Windows XP (поставляются вместе с Windows XP Professional). Все они расположены в каталоге %systemroot%system32.
■ Eventquery.vbs — предназначен для работы с системными журналами событий (оснастка Просмотр событий) и при запуске без параметров, например cscript.exe C:WINDOWSSYSTEM32eventquery.vbs, перечисляет все события, записанные в локальном журнале Система. Чтобы просмотреть возможные параметры работы данного сценария, необходимо ввести команду cscript.exe C:WINDOWSSYSTEM32eventquery.vbs /?. Честно сказать, количество параметров впечатляет. Можно подключаться к удаленному компьютеру, для этого указать учетную запись и пароль, настроить фильтр выводимых записей событий, способ вывода событий и т.д. Сценарий хорошо описан, да к тому же еще и на русском языке, а также содержит набор примеров, поэтому его использование сложности не представляет.