Класс Win32_Process
Класс WMIWin32_Process представляет процесс в операционной системе.
Следующий пример синтаксиса — упрощенный MOF-код, который включает все наследуемые свойства.
Примечание
Общие сведения о процессах и потоках в Windows см. в разделе Процессы и потоки.
Синтаксис
[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
string CreationClassName;
string Caption;
string CommandLine;
datetime CreationDate;
string CSCreationClassName;
string CSName;
string Description;
string ExecutablePath;
uint16 ExecutionState;
string Handle;
uint32 HandleCount;
datetime InstallDate;
uint64 KernelModeTime;
uint32 MaximumWorkingSetSize;
uint32 MinimumWorkingSetSize;
string Name;
string OSCreationClassName;
string OSName;
uint64 OtherOperationCount;
uint64 OtherTransferCount;
uint32 PageFaults;
uint32 PageFileUsage;
uint32 ParentProcessId;
uint32 PeakPageFileUsage;
uint64 PeakVirtualSize;
uint32 PeakWorkingSetSize;
uint32 Priority;
uint64 PrivatePageCount;
uint32 ProcessId;
uint32 QuotaNonPagedPoolUsage;
uint32 QuotaPagedPoolUsage;
uint32 QuotaPeakNonPagedPoolUsage;
uint32 QuotaPeakPagedPoolUsage;
uint64 ReadOperationCount;
uint64 ReadTransferCount;
uint32 SessionId;
string Status;
datetime TerminationDate;
uint32 ThreadCount;
uint64 UserModeTime;
uint64 VirtualSize;
string WindowsVersion;
uint64 WorkingSetSize;
uint64 WriteOperationCount;
uint64 WriteTransferCount;
};
Члены
Класс Win32_Process имеет следующие типы членов:
Методы
Класс Win32_Process содержит эти методы.
Метод | Описание |
---|---|
AttachDebugger | Запускает зарегистрированный в данный момент отладчик для процесса. |
Создать | Создает новый процесс. |
GetAvailableVirtualSize | Извлекает текущий размер (в байтах) свободного виртуального адресного пространства, доступного для процесса. Windows Server 2012, Windows 8, Windows 7, Windows Server 2008 и Windows Vista: этот метод не поддерживается до Windows 8.1 и Windows Server 2012 R2. |
GetOwner | Извлекает имя пользователя и доменное имя, под которым выполняется процесс. |
GetOwnerSid | Извлекает идентификатор безопасности (SID) для владельца процесса. |
SetPriority | Изменяет приоритет выполнения процесса. |
Завершение | Завершает процесс и все его потоки. |
Свойства
Класс Win32_Process имеет эти свойства.
-
Caption
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: MaxLen (64), DisplayName ("Caption")
Краткое описание объекта — однострочный текст.
Это свойство наследуется от CIM_ManagedSystemElement.
-
-
CommandLine
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Командная строка для запуска процесса")
Командная строка, используемая для запуска определенного процесса, если применимо.
-
-
CreationClassName
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: CIM_Key, MaxLen (256), DisplayName ("Имя класса")
Имя класса или подкласса, используемого при создании экземпляра. При использовании с другими ключевыми свойствами класса это свойство позволяет уникально идентифицировать все экземпляры класса и его подклассы.
Это свойство наследуется от CIM_Process.
-
-
CreationDate
-
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: Fixed, DisplayName ("CreationDate")
Дата начала выполнения процесса.
Это свойство наследуется от CIM_Process.
-
-
CSCreationClassName
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_OperatingSystem. CSCreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Computer System Class Name")
Имя класса создания системы компьютеров с областью действия.
Это свойство наследуется от CIM_Process.
-
-
CSName
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_OperatingSystem. CSName"), CIM_Key, MaxLen (256), DisplayName ("Computer System Name")
Имя системы компьютеров для определения области.
Это свойство наследуется от CIM_Process.
-
-
Описание
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Описание")
Описание объекта.
Это свойство наследуется от CIM_ManagedSystemElement.
-
-
Исполняемый путь
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Privileges ("SeDebugPrivilege"), MappingStrings ("Win32API| | Структуры справки инструментов | MODULEENTRY32|szExePath), DisplayName ("Путь к исполняемому файлу")
Путь к исполняемому файлу процесса.
Пример: "C:\Windows\System\Explorer.Exe"
-
-
ExecutionState
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Состояние выполнения")
Текущее рабочее состояние процесса.
Это свойство наследуется от CIM_Process.
-
-
Неизвестно (0)
-
Неизвестно
-
Другое (1)
-
Другое
-
Готово (2)
-
Выполняется (3)
-
Заблокировано (4)
-
Блокировано
-
Приостановлено заблокировано (5)
-
Приостановка готовности (6)
-
Завершено (7)
-
Остановлено (8)
-
Растет (9)
Дескриптор
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Key, MaxLen (256), DisplayName ("Handle")
Идентификатор процесса.
Это свойство наследуется от CIM_Process.
HandleCount
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Состояние процесса| SYSTEM_PROCESS_INFORMATION| HandleCount"), DisplayName ("Число дескрипторов")
Общее количество открытых дескрипторов, принадлежащих процессу. HandleCount — это сумма дескрипторов, открытых в данный момент каждым потоком в этом процессе. Дескриптор используется для проверки или изменения системных ресурсов. Каждый дескриптор содержит запись в таблице, которая поддерживается внутренне. Записи содержат адреса ресурсов и данные для определения типа ресурса.
InstallDate
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Дата установки")
Дата установки объекта. Объект может быть установлен без записи значения в это свойство.
Это свойство наследуется от CIM_ManagedSystemElement.
KernelModeTime
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: Override ("KernelModeTime"), Units ("100 nanoseconds")
Время в режиме ядра в миллисекундах. Если эти сведения недоступны, используйте значение 0 (ноль).
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Создание скриптов в WMI.
MaximumWorkingSetSize
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: Privileges ("SeDebugPrivilege"), MappingStrings ("Win32| | WINNT. H| QUOTA_LIMITS| MaximumWorkingSetSize"), DisplayName ("Максимальный размер рабочего набора"), Единицы ("килобайты")
Максимальный размер рабочего набора процесса. Рабочий набор процесса — это набор страниц памяти, видимых процессу в физической ОЗУ. Эти страницы являются резидентами и доступны для использования приложением без активации ошибки страницы.
Пример: 1413120
MinimumWorkingSetSize
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: Privileges ("SeDebugPrivilege"), MappingStrings ("Win32| | WINNT. H| QUOTA_LIMITS| MinimumWorkingSetSize"), DisplayName ("Минимальный размер рабочего набора"), Единицы ("килобайты")
Минимальный размер рабочего набора процесса. Рабочий набор процесса — это набор страниц памяти, видимых процессу в физической ОЗУ. Эти страницы являются резидентными и доступны для использования приложением без активации ошибки страницы.
Пример: 20480
имя;
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Имя")
Имя исполняемого файла, ответственного за процесс, эквивалентно свойству Имя образа в диспетчере задач.
При наследовалении подклассом свойство может быть переопределено как ключевое свойство. Имя жестко закодировано в самом приложении и не зависит от изменения имени файла. Например, даже если переименовать Calc.exe, имя Calc.exe по-прежнему будет отображаться в диспетчере задач и во всех скриптах WMI, извлекающих имя процесса.
Это свойство наследуется от CIM_ManagedSystemElement.
OSCreationClassName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_OperatingSystem. CreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Имя класса операционной системы")
Имя класса создания операционной системы для определения области.
Это свойство наследуется от CIM_Process.
ИМЯ OSName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_OperatingSystem. NameCIM_Key,MaxLen (256), DisplayName ("Имя операционной системы")
Имя операционной системы области.
Это свойство наследуется от CIM_Process.
OtherOperationCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Структуры процессов и потоков | SYSTEM_PROCESS_INFORMATION| OtherOperationCount"), DisplayName ("Other Operation Count")
Количество выполненных операций ввода-вывода, которые не являются операциями чтения или записи.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Создание скриптов в WMI.
OtherTransferCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Структуры процессов и потоков | SYSTEM_PROCESS_INFORMATION| OtherTransferCount"), DisplayName ("Other Transfer Count"), Units ("bytes")
Объем данных, передаваемых во время операций, которые не являются операциями чтения или записи.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Создание скриптов в WMI.
PageFaults
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Состояние процесса| SYSTEM_PROCESS_INFORMATION| PageFaultCount"), DisplayName ("Количество ошибок страниц")
Количество ошибок страниц, создаваемых процессом.
Пример: 10
PageFileUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Состояние процесса| SYSTEM_PROCESS_INFORMATION| PagefileUsage"), DisplayName ("Использование файла подкачки"), единицы измерения ("килобайты")
Объем пространства файла подкачки, используемый процессом в данный момент. Это значение согласуется со значением VMSize в TaskMgr.exe.
Пример: 102435
ParentProcessId
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| Состояние процесса| SYSTEM_PROCESS_INFORMATION| InheritedFromUniqueProcessId"), DisplayName ("Идентификатор родительского процесса")
Уникальный идентификатор процесса, создающего процесс. Номера идентификаторов процессов используются повторно, поэтому они определяют только процесс на время существования этого процесса. Возможно, процесс, определяемый ParentProcessId , завершен, поэтому ParentProcessId может не ссылаться на выполняющийся процесс. Возможно также, что ParentProcessId неправильно ссылается на процесс, который повторно использует идентификатор процесса. Свойство CreationDate можно использовать, чтобы определить, был ли указанный родительский элемент создан после создания процесса, представленного этим экземпляром Win32_Process .
PeakPageFileUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| PeakPagefileUsage"), DisplayName ("Пиковое использование файла страницы"), единицы измерения ("килобайты")
Максимальный объем пространства в файлах подкачки, используемый в течение всего процесса.
Пример: 102367
PeakVirtualSize
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| PeakVirtualSize), DisplayName ("Пиковое использование вируального адресного пространства"), единицы измерения ("байты")
Максимальное виртуальное адресное пространство, которое процесс использует в любой момент времени. Использование виртуального адресного пространства не обязательно подразумевает соответствующее использование дисков или main страниц памяти. Однако виртуальное пространство ограничено, и при слишком большом использовании процесс может не загружать библиотеки.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
PeakWorkingSetSize
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| PeakWorkingSetSize), DisplayName ("Размер пикового рабочего набора"), единицы измерения ("килобайты")
Максимальный размер рабочего набора процесса.
Пример: 1413120
Приоритет
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: Override ("Priority"), MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| BasePriority"), DisplayName ("Priority")
Планирование приоритета процесса в операционной системе. Чем выше значение, тем выше приоритет, получаемый процессом. Значения приоритета могут варьироваться от 0 (нуль), что является самым низким приоритетом, до 31, что является наивысшим приоритетом.
Пример: 7
PrivatePageCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| PrivatePageCount"), DisplayName ("Private Page Count")
Текущее количество выделенных страниц, доступных только для процесса, представленного этим экземпляром Win32_Process .
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
ProcessId
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Структуры процессов и потоков| PROCESS_INFORMATION|dwProcessId "), DisplayName ("Идентификатор процесса")
Числовой идентификатор, используемый для отличия одного процесса от другого. Идентификаторы процессов допустимы от времени создания процесса до завершения процесса. После завершения этот же числовой идентификатор можно применить к новому процессу.
Это означает, что вы не можете использовать ProcessID только для мониторинга определенного процесса. Например, приложение может иметь ProcessID 7, а затем завершиться сбоем. При запуске нового процесса ему можно назначить ProcessID 7. Таким образом, скрипт, проверяющий только указанный ProcessID, может быть "обманут", чтобы думать, что исходное приложение по-прежнему выполняется.
QuotaNonPagedPoolUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| QuotaNonPagedPoolUsage"), DisplayName ("Квота использования нестраничного пула")
Квота использования непагрегированного пула для процесса.
Пример: 15
QuotaPagedPoolUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| QuotaPagedPoolUsage"), DisplayName ("Страничные квоты на использование пула")
Квота использования выстраивного пула для процесса.
Пример: 22
QuotaPeakNonPagedPoolUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| QuotaPeakNonPagedPoolUsage), DisplayName ("Пиковая квота использования нестраничного пула")
Пиковая квота использования непагрегированного пула для процесса.
Пример: 31
QuotaPeakPagedPoolUsage
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| QuotaPeakPagedPoolUsage"), DisplayName ("Пиковая квота использования пула с разбивкой на страницы")
Пиковая квота использования выстраивного пула для процесса.
Пример: 31
ReadOperationCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Структуры процессов и потоков| SYSTEM_PROCESS_INFORMATION| ReadOperationCount"), DisplayName ("Read Operation Count")
Количество выполненных операций чтения.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
ReadTransferCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Структуры процессов и потоков| SYSTEM_PROCESS_INFORMATION| ReadTransferCount"), DisplayName ("Read Transfer Count"), Units ("байты")
Объем считываемых данных.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
SessionId
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| SessionId"), DisplayName ("Идентификатор сеанса")
Уникальный идентификатор, создаваемый операционной системой при создании сеанса. Сеанс охватывает период времени от входа до выхода из определенной системы.
Состояние
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: MaxLen (10), DisplayName ("Status")
Это свойство не реализовано и не заполняется ни для одного экземпляра этого класса. Всегда имеет значение NULL.
Это свойство наследуется от CIM_ManagedSystemElement.
В эти значения входят:
ОК ("ОК")
Ошибка ("Ошибка")
Пониженный ("Пониженный")
Unknown ("Unknown")
Pred Fail ("Pred Fail")
Запуск ("Начало")
Остановка ("Остановка")
Служба ("Служба")
Подчеркнуто ("Подчеркнуто")
NonRecover ("NonRecover")
Нет контакта ("Нет контакта")
Lost Comm ("Lost Comm")
TerminationDate
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Дата завершения")
Процесс был остановлен или завершен. Чтобы получить время завершения, дескриптор процесса должен быть открыт. В противном случае это свойство возвращает значение NULL.
Это свойство наследуется от CIM_Process.
ThreadCount
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| NumberOfThreads"), DisplayName ("Число потоков")
Количество активных потоков в процессе. Инструкция — это базовая единица выполнения в процессоре, а поток — это объект, который выполняет инструкцию. Каждый выполняемый процесс содержит по крайней мере один поток.
UserModeTime
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: Переопределение ("UserModeTime"), единицы измерения ("100 наносекунд")
Время в пользовательском режиме в 100 единицах наносекунд. Если эти сведения недоступны, используйте значение 0 (ноль).
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
VirtualSize
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Состояние процесса| SYSTEM_PROCESS_INFORMATION| VirtualSize"), DisplayName ("Использование виртуального адресного пространства"), единицы измерения ("байты")
Текущий размер виртуального адресного пространства, используемого процессом, а не физической или виртуальной памяти, фактически используемой процессом. Использование виртуального адресного пространства не обязательно подразумевает соответствующее использование дисков или main страниц памяти. Виртуальное пространство ограничено, и при слишком большом использовании процесс может не загружать библиотеки. Это значение соответствует тому, что отображается в Perfmon.exe.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
WindowsVersion
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Функции процессов и потоков | GetProcessVersion"), DisplayName ("Версия Windows")
Версия Windows, в которой выполняется процесс.
Пример: 4.0
WorkingSetSize
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Размер рабочего набора"), единицы измерения ("байты")
Объем памяти в байтах, необходимый процессу для эффективного выполнения, для операционной системы, которая использует управление памятью на основе страниц. Если в системе недостаточно памяти (меньше размера рабочего набора), происходит обмотка. Если размер рабочего набора неизвестен, используйте значение NULL или 0 (ноль). Если предоставляются данные рабочего набора, вы можете отслеживать сведения, чтобы понять изменяющиеся требования к памяти процесса.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
Это свойство наследуется от CIM_Process.
WriteOperationCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Структуры процессов и потоков| SYSTEM_PROCESS_INFORMATION| WriteOperationCount), DisplayName ("Число операций записи")
Количество выполненных операций записи.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
WriteTransferCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("Win32API| | Структуры процессов и потоков| SYSTEM_PROCESS_INFORMATION| WriteTransferCount"), DisplayName ("Write Transfer Count"), Units ("байты")
Объем записанных данных.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
Комментарии
Класс Win32_Process является производным от CIM_Process. Вызывающий процесс, использующий этот класс, должен иметь SE_RESTORE_NAME привилегии на компьютере, на котором находится реестр. Дополнительные сведения см. в разделе Выполнение привилегированных операций.
Общие сведения
Процессы лежат в основе почти всего, что происходит на компьютере. На самом деле, основная причина большинства проблем с компьютером может быть трассирована в процессах; например, на компьютере может выполняться слишком много процессов (и бороться за конечный набор ресурсов) или один процесс может использовать больше, чем его доля ресурсов. Эти факторы делают важным сохранять близкие watch к процессам, выполняемым на компьютере. Мониторинг процессов, main активность в управлении процессами, позволяет определить, что на самом деле делает компьютер, какие приложения на нем выполняются и как эти приложения влияют на изменения в вычислительной среде.
Мониторинг процесса
Процессы мониторинга на регулярной основе помогают гарантировать, что компьютер работает с максимальной эффективностью и что он выполняет назначенные задачи должным образом. Например, отслеживая процессы, вы можете немедленно получать уведомления о любом приложении, которое перестало отвечать на запросы, а затем принять меры для завершения этого процесса. Кроме того, мониторинг процессов позволяет выявлять проблемы до их возникновения. Например, многократно проверяя объем памяти, используемый процессом, можно определить утечку памяти. Затем можно остановить процесс до того, как приложение с ошибками использует всю доступную память и остановит компьютер.
Мониторинг процессов также помогает свести к минимуму перебои, вызванные запланированными сбоями при обновлении и обслуживании. Например, проверив состояние приложения базы данных, работающего на клиентских компьютерах, можно определить влияние перехода базы данных в автономный режим для обновления программного обеспечения.
Мониторинг доступности процессов. Измеряет процент доступности процесса. Доступность обычно отслеживается с помощью простой пробы, которая сообщает, выполняется ли процесс. Отслеживая результаты каждой пробы, можно вычислить доступность процесса. Например, процесс, который проверяется 100 раз и отвечает в 95 случаях, имеет доступность 95 процентов. Этот тип мониторинга обычно зарезервирован для баз данных, почтовых программ и других приложений, которые должны выполняться постоянно. Он не подходит для текстовых программ, электронных таблиц или других приложений, которые регулярно запускаются и останавливаются несколько раз в день.
Для настройки процесса можно создать экземпляр класса Win32_ProcessStartup .
Производительность процесса можно отслеживать с помощью класса Win32_PerfFormattedData_PerfProc_Process и объекта средства обновления WMI, например SWbemRefresher. Дополнительные сведения см. в разделе Мониторинг данных производительности.
Примеры
В примере кода PowerShell List the Properties of WMI Classes (Список свойств классов WMI ) в коллекции TechNet описывается класс Win32_Process и выводится результат в формате Excel.
Выполнение процесса на нескольких серверах завершает процесс, запущенный на одном или нескольких компьютерах.
В разделе Пример. Вызов метода поставщика код использует C++ для вызова Win32_Process для создания процесса.
Доступность — это простейшая форма мониторинга процессов: при таком подходе вы просто убедитесь, что процесс запущен. При мониторинге доступности процессов обычно извлекается список процессов, запущенных на компьютере, а затем проверяется, что определенный процесс по-прежнему активен. Если процесс активен, он считается доступным. Если процесс неактивен, он недоступен. Следующий пример VBScript отслеживает доступность процессов, проверяя список процессов, выполняющихся на компьютере, и отправляя уведомление, если Database.exe процесс не найден.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
Wscript.Echo "Database.exe is not running."
Else
Wscript.Echo "Database.exe is running."
End If
Следующий пример VBScript отслеживает создание процесса с помощью временного потребителя событий.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop
Следующий VBScript отслеживает сведения о производительности процессов.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
Wscript.Echo "Process: " & objProcess.Name
Wscript.Echo "Process ID: " & objProcess.ProcessID
Wscript.Echo "Thread Count: " & objProcess.ThreadCount
Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
Wscript.Echo "Page Faults: " & objProcess.PageFaults
Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next
В следующем примере кода VBScript показано, как получить владельца каждого процесса на локальном компьютере. Этот скрипт можно использовать для получения данных с удаленного компьютера, например для определения пользователей процессов, выполняющих сервер терминалов, заменив имя удаленного компьютера на "." в первой строке. Вы также должны быть администратором на удаленном компьютере.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses
If objProcess.GetOwner ( User, Domain ) = 0 Then
Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
Else
Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
End If
Next
В следующем примере кода VBScript показано, как получить сеанс входа, связанный с запущенным процессом. Процесс должен быть запущен Notepad.exe перед запуском скрипта. В этом примере находятся экземпляры Win32_LogonSession , связанные с Win32_Process , представляющей Notepad.exe. Win32_SessionProcess указывается в качестве класса ассоциации. Дополнительные сведения см. в разделе ASSOCIATORS OF Statement.
On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
ProcessId = objProcess.ProcessId
Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
& "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
If Err <> 0 Then
WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
WScript.Quit
End If
For Each LogonSession in colLogonSessions
Wscript.Echo " Logon id is " & LogonSession.LogonId
Next
Next
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Пространство имен |
Root\CIMV2 |
MOF |
|
DLL |
|
См. также раздел