Sha256: 898171b45fe35f67476c24de24aef8509a6be6026f680defd62ffc397ce6fa27

Contents?: true

Size: 481 Bytes

Versions: 38

Compression:

Stored size: 481 Bytes

Contents

# frozen_string_literal: true

require 'win32ole'

class Win32Ole
  RPC_C_IMP_LEVEL_IMPERSONATE = 3

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

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

    nil
  end

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

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
facter-4.0.46 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.44 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.43 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.42 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.41 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.40 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.39 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.38 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.37 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.36 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.35 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.34 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.33 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.32 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.31 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.30 lib/facter/resolvers/windows/utils/win32ole.rb
facter-4.0.29 lib/resolvers/windows/utils/win32ole.rb
facter-4.0.28 lib/resolvers/windows/utils/win32ole.rb
facter-4.0.26 lib/resolvers/windows/utils/win32ole.rb
facter-4.0.25 lib/resolvers/windows/utils/win32ole.rb