Свойства классов WMI

Свойства классов используются для однозначной идентификации экземпляра класса, представляющего конкретный управляемый ресурс, а также для описания текущего состояния этого ресурса. Рассмотрим два простых примера — классы из пространства имен CIMV2, являющиеся шаблонами для служб и процессов Windows.

Напомним, что для просмотра списка всех служб, установленных на компьютере, можно воспользоваться оснасткой Службы (Services) консоли управления MMC (рис. 11.1).

Рис. 11.1.Службы, зарегистрированные на локальном компьютере

Параметры определенной службы можно просматривать и изменять с помощью диалогового окна с несколькими вкладками, которое появляется после выбора этой службы в правом окне консоли (рис. 11.2).

Рис. 11.2.Параметры службы Журнал событий (Event Log)

Службам Windows в WMI соответствуют экземпляры класса Win32_Service; основные свойства этого класса приведены в табл. 11.1.

Таблица 11.1. Некоторые свойства класса Win32_Service
Свойство Описание
AcceptPause Свойство логического типа, значение которого равно True, если службу можно приостановить, и равно False в противном случае
AcceptStop Свойство логического типа, значение которого равно True, если службу можно остановить, и равно False в противном случае
Caption Краткое описание службы
Description Полное описание службы
DesktopInteract Свойство логического типа, значение которого равно True, если служба может взаимодействовать с рабочим столом пользователей, и равно False в противном случае
DisplayName Имя службы, которое выводится в списке служб
ErrorControl Строка, задающая действие программы загрузки, которое будет выполнено в случае возникновения сбоя при запуске службы во время загрузки операционной системы: Ignore — пользователю не будет выведено никаких сообщений о сбое, Normal — будет выведено сообщение о сбое при запуске службы, Critical — система попытается автоматически произвести перезагрузку в хорошей конфигурации, Unknown — действие для подобного типа ошибок не определено
Name Имя службы
PathName Полный путь к бинарному файлу, соответствующему службе
ProcessId Уникальный идентификатор службы
ServiceType Строка, описывающая тип службы: Kernel Driver, File System Driver, Adapter, Recognizer Driver, Own Process, Share Process, Interactive Process
Started Свойство логического типа, значение которого равно True, если служба была запущена, и равно False в противном случае
StartMode Строка, описывающая способ загрузки службы: Boot (применяется только при загрузке служб для драйверов), System(применяется только при загрузке служб для драйверов), Auto (служба загружается автоматически), Manual (служба может быть запущена вручную), Disabled (службу запустить нельзя)
StartName Учетная запись, от имени которой запускается служба
State Текущее состояние службы: Stopped (остановлена), Start Pending (стартует), Stop Pending (останавливается), Running (запущена), Continue Pending (возвращается в активное состояние), Pause Pending (приостанавливается), Paused (приостановлена), Unknown (состояние службы определить не удалось)
WaitHint Примерное время (в миллисекундах), необходимое для выполнения операций приостановки, остановки или запуска службы

Как мы видим, многие свойства класса Win32_Service соответствуют элементам ввода в диалоговом окне свойств службы. Например, для экземпляра класса Win32_Service, который представляет службу Журнал событий (Event Viewer) свойства Name, DisplayName, Description и StartMode равны соответственно Eventlog, Журнал событий, Обеспечивает поддержку сообщений журналов событий, выдаваемых Windows-программами и компонентами системы, и просмотр этих сообщений. Эта служба не может быть остановлена и Авто (см. рис. 11.2).

Рассмотрим теперь класс Win32_Process, экземпляры которого соответствуют запущенным в операционной системе процессам. Напомним, что информацию о всех процессах можно получить с помощью Диспетчера задач (Task Manager), запускаемого нажатием клавиш <Ctrl>+<Alt>+<Del> (рис. 11.3).

Рис. 11.3.Процессы, запущенные на локальном компьютере

Количество выводимых на экран параметров для процессов зависит от настроек Диспетчера задач (Task Manager): выбрав в меню Вид (View) пункт Выбрать столбцы (Choose columns), можно отметить интересующие нас параметры (рис. 11.4).

Рис. 11.4.Настройка выводимых параметров для процессов

Параметрам запущенного процесса соответствуют свойства класса Win32_Process ; некоторые из этих свойств приведены в табл. 11.2.

Таблица 11.2. Некоторые свойства класса Win32_Process
Свойство Описание
Caption Короткое текстовое описание процесса
CommandLine Командная строка, используемая для запуска процесса
CreationDate Время начала выполнения процесса
Description Полное описание процесса
ExecutablePath Полный путь к исполняемому файлу процесса
HandleCount Общее количество дескрипторов, открытых в настоящее время процессом (равно общему количеству дескрипторов, открытых каждым потоком в процессе)
MaximumWorkingSetSize Максимально возможный размер рабочего набора процесса (рабочий набор процесса — это набор страниц, доступных процессу в физической оперативной памяти)
MinimumWorkingSetSize Минимально возможный размер рабочего набора процесса
Name Имя процесса
OtherOperationCount Число выполненных операций ввода/вывода, отличных от операции чтения или записи
OtherTransferCount Размер данных, переданных в процессе выполнения операций, отличных от операции чтения или записи
PageFileUsage Размер части файла подкачки, которая используется процессом в настоящее время
ParentProcessID Уникальный идентификатор родительского процесса, создавшего данный процесс
PeakPageFileUsage Максимальный размер части файла подкачки, которая использовалась процессом за все время его работы
PeakVirtualSize Максимальное значение размера виртуального адресного пространства, которое использовалось процессом единовременно
PeakWorkingSetSize Максимальное значение размера рабочего набора процесса за все время работы
Priority Приоритет процесса (минимальному приоритету соответствует значение 0, максимальному — 31)
ProcessID Уникальный идентификатор процесса. Значение этого свойства актуально с момента создания процесса до окончания его работы
ReadOperationCount Число выполненных процессом операций чтения
ReadTransferCount Размер прочитанных данных
ThreadCount Число активных потоков в процессе
VirtualSize Текущий размер виртуального адресного пространства в байтах, используемого процессом
WorkingSetSize Размер памяти в байтах, необходимый для успешного выполнения процесса в операционной системе, использующей страничную организацию памяти
WriteOperationCount Число выполненных процессом операций записи
WriteTransferCount Размер записанных данных

Отметим, что в основном в WMI свойства классов доступны только для чтения, однако значения определенных свойств в экземплярах некоторых классов можно изменять напрямую (для этого применяется специальный метод Put_() ). Например, в экземплярах класса Win32_LogicalDisk, которые соответствуют логическим дискам, можно изменять свойство VolumeName, где хранится метка соответствующего диска.

Замечание

Количество свойств, значения которых можно изменять, зависит от операционной системы. Например, в Windows 2000 для записи доступны только 39 свойств, а в Windows XP — 145 свойств.

Для того чтобы узнать, является ли определенное свойство доступным для записи, нужно проверить значение квалификатора Write этого свойства.

Методы классов WMI

Методы класса позволяют выполнять те или иные действия над управляемым ресурсом, которому соответствует этот класс (так как не над каждым ресурсом можно производить какие-либо операции, то не у всякого класса есть методы). В табл. 11.3 и 11.4 описаны, например, методы, которые имеются у классов Win32_Service (службы Windows) и Win32_Process (процессы Windows).

Таблица 11.3. Методы класса Win32_Service
Метод Описание
StartService() Запускает службу
StopService() Остановливает службу
PauseService() Приостановливает службу
ResumeService() Возобновляет работу службы
UserControlService(n) Посылает службе заданный пользователем код n (число от 128 до 255)
Create(Name, DisplayName, PathName, ServiceType, ErrorControl, StartMode, DesktopInteract, StartName, StartPassword, LoadOrderGroup, LoadOrderGroupDependencies, ServiceDependencies) Создает службу
Change(DisplayName, PathName, ServiceType, ErrorControl, StartMode, DesktopInteract, StartName, StartPassword, LoadOrderGroup, LoadOrderGroupDependencies, ServiceDependencies) Изменяет параметры службы
ChangeStartMode(StartMode) Изменяет тип загрузки службы. Символьный параметр StartMode может принимать следующие значения: Boot (применяется только при загрузке служб для драйверов), System (применяется только при загрузке служб для драйверов), Auto (служба загружается автоматически), Manual (служба может быть запущена вручную), Disabled (службу запустить нельзя)
Delete() Удаляет существующую службу

Таким образом, методы класса Win32_Service позволяют изменять значения некоторых свойств этого класса и выполнять манипуляции над конкретной службой: запускать ее, приостанавливать, останавливать и т. д.

Перейдем к рассмотрению методов класса Win32_Process, которые описаны в табл. 11.4.

Таблица 11.4. Методы класса Win32_Process
Метод Описание
AttachDebugger() Запускает отладчик, установленный в системе по умолчанию, для отладки процесса
Create(CommandLine, CurrentDirectory, ProcessStartupInformation, ProcessId) Создает новый не интерактивный процесс
GetOwner(User,Domain) После выполнения этого метода в переменной User будет записано имя пользователя, создавшего процесс (владельца процесса), а в переменной Domain — имя домена, в котором запущен этот процесс
GetOwnerSid(Sid) Позволяет получить в переменной Sid идентификатор безопасности (Security IDentifier, SID) владельца процесса
SetPriority(Priority) Устанавливает приоритет процесса. Числовой параметр Priority определяет требуемый приоритет и может принимать следующие значения: 64 (низкий), 16 384 (ниже среднего), 32 (средний), 32 768 (выше среднего), 128 (высокий), 256 (процесс выполняется в реальном времени)
Terminate(Reason) Завершает процесс и все его потоки. Числовой параметр Reason задает код выхода, который будет сообщен операционной системе после завершения процесса

Таким образом, методы класса Win32_Process позволяют выполнять над процессами те же действия, которые можно осуществить в Диспетчере задач Windows с помощью контекстного меню, появляющегося после щелчка правой кнопкой мыши над выделенным процессом в списке (см. рис. 11.5), и кнопки Завершить процесс (Terminate process).

Рис. 11.5.Контекстное меню, позволяющее выполнять действия над определенным процессом

 








Дата добавления: 2018-03-01; просмотров: 697;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.