Class: Win32Ole
- Inherits:
-
Object
- Object
- Win32Ole
- Defined in:
- lib/facter/resolvers/windows/utils/win32ole.rb
Constant Summary collapse
- RPC_C_IMP_LEVEL_IMPERSONATE =
3
Instance Method Summary collapse
- #exec_query(query) ⇒ Object
-
#initialize ⇒ Win32Ole
constructor
A new instance of Win32Ole.
- #return_first(query) ⇒ Object
Constructor Details
#initialize ⇒ Win32Ole
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 |