Создание, завершение и просмотр учетной записи процесса
Создание, завершение и просмотр учетной записи процесса
К другим основным возможностям инструментария управления WMI относятся возможности работы с процессами, запущенными на удаленном или локальном компьютере. При этом инструментарий предоставляет возможности не только по запуску или завершению процесса, но и по определению учетной записи, от имени которой запущен определенный процесс. Для работы с процессами используется класс Win32_Process, принадлежащий к пространству имен rootcimv2. Рассмотрим маленький пример по созданию нового процесса с использованием метода Create.
Листинг 11.4. Создание нового процесса
set obj = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\. oot cimv2:Win32_Process")
obj.Create "C:WINDOWS egedit.exe"
Действительно, маленький пример. Теперь подробнее рассмотрим методы класса Win32_Process, направленные на работу с процессами.
? Create — как уже известно, данный метод используется для создания процесса. При этом после своего выполнения метод возвращает следующие значения (это не все):
• 0 — успешное завершение;
• 2 — пользователь не имеет доступа к запрашиваемым данным;
• 3 — у пользователя нет достаточных привилегий;
• 8 — неизвестная ошибка;
• 9 — пользователь не имеет необходимых привилегий;
• 21 — указан недопустимый параметр.
Несмотря на то, что при вызове данного метода был использован только один параметр, на самом деле для работы с ним нужны четыре параметра. Во-первых, это путь к файлу, который будет вызван (в данном случае применялся только этот параметр). Во-вторых, это путь к каталогу, который должен использовать-ся вызываемым процессом (если он не задан, то будет использоваться каталог, в котором находится запускаемый файл). В-третьих, это строка начальной конфигурации процесса (если она не задана, то будет применяться пустая строка ("")). В-четвертых, это переменная, которой будет присвоен идентификатор созданного процесса.
? Terminate — прекращает процесс и все его дочерние процессы.
? GetOwner — возвращает учетную запись пользователя, от имени которого был запущен процесс, а также домен, к которому он принадлежит.
? GetOwnerSid — возвращает SID пользователя, от имени которого был запущен процесс.
? SetPriority — устанавливает приоритет выполнения определенного процесса.
? AttachDebugger — вызывает отладчик данного процесса.
ПРИМЕЧАНИЕ
За более детальной информацией обращайтесь к файлу cimwin32.mfl, расположенному в каталоге %systemroot%SYSTEM32wbem.