Win32_Process

WSH + WMI. Примеры. Класс Win32_Process



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

class Win32_Process : CIM_Process { string Caption; string CommandLine; string CreationClassName; 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 = NULL; 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 имеет следующие методы:
МетодОписание
AttachDebugger Запуск отладчика, который установлен в система по умолчанию для отладки системы.
Create Создает новый процесс.
GetAvailableVirtualSize Получает текущий размер в байтах, свободной виртуального адресного пространства для этого процесса.
GetOwner Получает имя пользователя и имя домена, от которого процесс запущен.
GetOwnerSid Получает идентификатор безопасности (SID) для владельца процесса.
SetPriority Изменяет приоритет выполнения процесса.
Terminate Завершает процесс


Метод AttachDebugger класса Win32_Process



Метод AttachDebugger позволяет запустить отладчик, который установлен в системе по умолчанию.
Не имеет параметров.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Пользователь не имеет доступа к запрашиваемой информации.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.




Метод Create класса Win32_Process



Метод создает новый процесс.
Параметры:
CommandLine - Командная строка для выполнения
CurrentDirectory - Текущий диск и каталог для дочернего процесса.
ProcessStartupInformation - начальная конфигурация процесса, при отсутствии параметра будет приниматься пустая строка.
ProcessId - Глобальный идентификатор процесса, который может быть использован для идентификации процесса.
Первые три параметра являются входящими.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.


По соображениям безопасности Метод Win32_Process.Create не может быть использован для запуска интерактивного процесса дистанционно.

Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003


on error resume next set process = GetObject("winmgmts:Win32_Process") result = process.Create ("notepad.exe",null,null,processid) WScript.Echo "Method returned result = " & result WScript.Echo "Id of new process is " & processid if err <> 0 then WScript.Echo Err.Description, "0x" & Hex(Err.Number) end if


Метод GetAvailableVirtualSize класса Win32_Process

Получает текущий размер в байтах, свободной виртуального адресного пространства для этого процесса.

Параметры.
Параметр AvailableVirtualSize возвращает свободное пространство виртуальных адресов, доступных для данного процесса.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.
Другие кодыКоды системных ошибок.


Минимальная клиентская ОС - Windows 8.1
Минимальная серверная ОС - Windows Server 2012 R2


Метод GetOwner класса Win32_Process

Метод извлекает имя пользователя и имя домена, при которых процесс запущен.

Параметры.
GetOwner(User, Domain)
user - Возвращает имя пользователя-владельца этого процесса.
Domain - Возвращает доменное имя, под которым этот процесс работает.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.
Другие кодыКоды системных ошибок.




strComputer = "." Set colProcesses = GetObject("winmgmts:" & _ "{impersonationLevel=impersonate}!\\" & strComputer & _ "\root\cimv2").ExecQuery("Select * from Win32_Process") For Each objProcess in colProcesses Return = objProcess.GetOwner(strNameOfUser) If Return <> 0 Then Wscript.Echo "Could not get owner info for process " & _ objProcess.Name & VBNewLine _ & "Error = " & Return Else Wscript.Echo "Process " _ & objProcess.Name & " is owned by " _ & "\" & strNameOfUser & "." End If Next


Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003


Метод GetOwnerSid класса Win32_Process

Метод возвращает один параметр, в котором будет храниться идентификатор безопасности (Security IDentifier, SID) владельца процесса

Параметры.
GetOwnerSid(Sid)
Sid - Возвращает дескриптор идентификатор безопасности для данного процесса.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.
Другие кодыКоды системных ошибок.


Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003


Метод SetPriority класса Win32_Process

Метод пытается изменить приоритет выполнения процесса.

SetPriority(Priority)
Параметры.
Параметр Priority принимает следующие значения:

ЗначениеОписание
64 (0x40)Для процессов, которые выполняются только при простое системы.
16384
(0x4000)
Ниже нормы.
32
(0x20)
Нормальный .
32768
(0x8000)
Выше нормы.
128
(0x80)
Высокий приоритет.
256
(0x100)
Максимально возможный приоритет.



Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.
Другие кодыКоды системных ошибок.


Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003


Метод Terminate класса Win32_Process

Метод завершает процесс и все его дочерние процессы.
Terminate(Reason)
Параметры.
Reason - Код завершения процесса.
Возвращаемое значение:

Код возврата Описание
0Успешное завершение.
2Доступ Закрыт.
3Пользователь не имеет достаточных привилегий.
8Неизвестная ошибка.
9Заданного пути не существует.
21Указанный параметр не является допустимым.
Другие кодыКоды системных ошибок.


Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003


strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next


Свойства

Ниже будут описаны ряд свойств класса Win32_DiskDrive.
Caption
Только для чтения. Краткое описание объекта.

CommandLine
Только для чтения.Командная строка используемая для запуска процесса, если это применимо.



strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_Process",,48) For Each objItem in colItems Wscript.Echo "-----------------------------------" Wscript.Echo "Win32_Process instance" Wscript.Echo "-----------------------------------" Wscript.Echo "CommandLine: " & objItem.CommandLine Next


CreationClassName
Только для чтения. Имя класса, который создал процесс.


strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_Process",,48) For Each objItem in colItems Wscript.Echo "-----------------------------------" Wscript.Echo "Win32_Process instance" Wscript.Echo "-----------------------------------" Wscript.Echo "CreationClassName: " & objItem.CreationClassName Next


CreationDate
Только для чтения. Дата начала выполнения процесса.

CSCreationClassName
Только для чтения. Выводит имя класса.

CSName
Только для чтения. Имя компьютера, на котором запущен процесс.

Description
Только для чтения. Описание объекта.

ExecutablePath
Только для чтения. Путь к исполняемому файлу процесса.

ExecutionState
Только для чтения.

КодОписание
0Unknown
1Other
2Ready
3Running.
4Blocked
5Suspended Blocked
6УSuspended Ready.


Handle
Только для чтения. Идентификатор процесса.

HandleCount
Только для чтения. Общее количество открытых дескрипторов, принадлежащих процессу.

InstallDate
Только для чтения. Дата создания объекта. Объект может быть создан и без записи значения в это свойство.

KernelModeTime
Только для чтения. Время работы в режиме ядра.

MaximumWorkingSetSize
Только для чтения. Максимальное количество страниц памяти, выделенных процессу.

MinimumWorkingSetSize
Только для чтения. Минимальное количество страниц памяти, выделенных процессу.

Name
Только для чтения. Имя исполняемого файла, отвечающего за процесс.

OSCreationClassName
Только для чтения. Имя класса.

OSName
Только для чтения. Имя ОС.

OtherOperationCount
Только для чтения. Число выполненных операций ввода/вывода, отличных от операции чтения или записи.

OtherTransferCount
Только для чтения. Объем данных, передаваемых во время операций OtherOperationCount.

PageFaults
Только для чтения. Количество сгенерированных страниц памяти.

PageFileUsage
Только для чтения. Суммарный размер файла подкачки, который процесс используете в настоящее время.

ParentProcessID
Только для чтения. Идентификатор родительского процесса .

PeakPageFileUsage
Только для чтения. Максимальный размер файла подкачки, который использовался во время работы процесса.

PeakVirtualSize
Только для чтения. Максимальная виртуальное адресное пространство которое использует процесс.

PeakWorkingSetSize
Только для чтения. Пик размера рабочего набора процесса.

Priority
Только для чтения. Неужели догадались? Таки да, это приоритет. Значения приоритета может варьироваться от 0 (нуля), что является самым низким приоритетом до 31, который является наивысшим приоритетом.

PrivatePageCount
Только для чтения. Текущее количество выделенных страниц, которые доступны для процесса.

ProcessId
Только для чтения. Числовой идентификатор используется, чтобы различать один процесс от другого. ProcessID действителен с момента создания процесса до его завершения. По окончании процесса, тот же цифровой идентификатор может быть назначен новому процессу. Таким образом, контроль наличия процесса только по его ProcessID может привести к неверному результату.

ReadOperationCount
Только для чтения. Количество операций чтения, которые выполнил процесс.

ReadTransferCount
Только для чтения. Размен прочитанных данных.

SessionId
Только для чтения. Уникальный идентификатор, который операционная система генерирует, когда сессия создается.

Status
Только для чтения. Опять догадались? А вот и нет! Это свойство не реализовано. Всегда NULL.

ThreadCount
Только для чтения. Количество активных потоков в процессе.

UserModeTime
Только для чтения. Время в режиме пользователя, в 100 наносекундных единицах. Если эта информация не доступна, получаемое значение 0 (ноль).

VirtualSize
Только для чтения. Текущий размер виртуального адресного пространства, которое использует процесс.

WindowsVersion
Только для чтения. Версия Windows, в которой запущен процесс.

WorkingSetSize
Только для чтения. Объем памяти в байтах, который необходим процессу для эффективной работы в операционной системе, которая использует страничное управление памятью.

WriteOperationCount
Только для чтения. Количество операций записи, которые выполнил процесс.

WriteTransferCount
Только для чтения. Размен записанных данных.



Примеры



var objWMI, colItems, objItem; var list = "Список процессов Windows\n\n"; objWMI = GetObject("winmgmts:\\\\.\\root\\cimv2"); for (colItems= new Enumerator(objWMI.ExecQuery ("Select * from Win32_Process")); !colItems.atEnd(); colItems.moveNext()){ objItem = colItems.item(); grt=objItem.ExecutablePath; if (grt != null) list += grt+'\\'; list += objItem.Name + "\t\t" + objItem.ProcessId + "\n"; } WScript.Echo(list);




strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") ' Obtain an instance of the the class ' using a key property value. Set objShare = objWMIService.Get("Win32_Process.Handle='988'") ' no InParameters to define ' Execute the method and obtain the return status. ' The OutParameters object in objOutParams ' is created by the provider. Set objOutParams = objWMIService.ExecMethod("Win32_Process.Handle='988'", "GetOwner") ' List OutParams Wscript.Echo "Out Parameters: " Wscript.echo "Domain: " & objOutParams.Domain Wscript.echo "ReturnValue: " & objOutParams.ReturnValue Wscript.echo "User: " & objOutParams.User


Более подробно о классе Win32_Process смотрите на MSDN.



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






  TopList Rambler Top100 own counter Valid XHTML 1.0 Strict Valid CSS Rambler Top100

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка link О авторе

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка Ссылки О авторе Отправить сообщение Карта сайта Поиск по сайту Главная страница

Copyright © 1999 - 2017  Бронислав Краснер