# Win32ole and WMI question

**URL:** <https://www.ruby-forum.com/t/win32ole-and-wmi-question/156806>\
**Category:** Ruby\
**Created:** [January 3, 2009, 7:51am UTC](https://www.ruby-forum.com/t/win32ole-and-wmi-question/156806 "2009-01-03T07:51:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![baz0860](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/85e7bf/32.png) [@baz0860](https://www.ruby-forum.com/u/baz0860)\
**Post date:** [January 3, 2009, 7:51am UTC](https://www.ruby-forum.com/t/win32ole-and-wmi-question/156806/1 "2009-01-03T07:51:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![baz0860](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/85e7bf/32.png) [@baz0860](https://www.ruby-forum.com/u/baz0860)\
**Post date:** [January 3, 2009, 10:48am UTC](https://www.ruby-forum.com/t/win32ole-and-wmi-question/156806/2 "2009-01-03T10:48:59Z")

</div>

Hi,

2009/1/3 Barrie H. [removed\_email\_address@domain.invalid](mailto: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.

---

<div class="post-metadata">

**Author:** ![baz0860](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/85e7bf/32.png) [@baz0860](https://www.ruby-forum.com/u/baz0860)\
**Post date:** [January 3, 2009, 11:58am UTC](https://www.ruby-forum.com/t/win32ole-and-wmi-question/156806/3 "2009-01-03T11:58:26Z")

</div>

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
