Win32ole and WMI question


#1

Hi,

I am trying to get process information from Windows server. Using
examples I have found on the web and in documentation I have come up
with the following script.

require ‘win32ole’

 wmi = WIN32OLE.connect("winmgmts://")

 processes = wmi.ExecQuery("select * from win32_process")

 for process in processes do
    process_list = {process.ProcessId =>

“#{process.ProcessId}:#{process.CreationDate}:#{process.WorkingSetSize}:#{process.KernelModeTime}:#{process.UserModeTime}”}
p process_list
end

I would like to be able to call the Win32_Process.GetOwner method from
the WMI class and include the process owner in the output of the above
script.

I would appreciate any assistance.

Thanks.

Cheers, Barrie


#2

Hi,

2009/1/3 Barrie H. removed_email_address@domain.invalid:

processes = wmi.ExecQuery("select * from win32_process")

I would appreciate any assistance.

You can call GetOwner method for each process like this:

   ret = process.execMethod_('GetOwner')
   p ret.User
   p ret.Domain

Regards,

Park H.


#3

Hi Heesob,

You can call GetOwner method for each process like this:

   ret = process.execMethod_('GetOwner')
   p ret.User
   p ret.Domain

Thank you for your help. It is exactly what I wanted. I spent a few
hours trying to work out how to use GetOwner.

Cheers, Barrie