Class: Win32Ole

Inherits:
Object
  • Object
show all
Defined in:
lib/facter/resolvers/windows/utils/win32ole.rb

Constant Summary collapse

RPC_C_IMP_LEVEL_IMPERSONATE =
3

Instance Method Summary collapse

Constructor Details

#initializeWin32Ole

Returns a new instance of Win32Ole.



8
9
10
11
12
# File 'lib/facter/resolvers/windows/utils/win32ole.rb', line 8

def initialize
  locator = WIN32OLE.new('WbemScripting.SWbemLocator')
  @conn = locator.ConnectServer('.', 'root\\cimv2')
  @conn.Security_.ImpersonationLevel = RPC_C_IMP_LEVEL_IMPERSONATE
end

Instance Method Details

#exec_query(query) ⇒ Object



21
22
23
# File 'lib/facter/resolvers/windows/utils/win32ole.rb', line 21

def exec_query(query)
  @conn.execquery(query)
end

#return_first(query) ⇒ Object



14
15
16
17
18
19
# File 'lib/facter/resolvers/windows/utils/win32ole.rb', line 14

def return_first(query)
  result = exec_query(query)
  return result.to_enum.first if result

  nil
end