lib/ohai/plugins/kernel.rb in ohai-7.0.4 vs lib/ohai/plugins/kernel.rb in ohai-7.2.0.alpha.0
- old
+ new
@@ -153,46 +153,50 @@
kernel[:modules] = modules
end
collect_data(:windows) do
- require 'ruby-wmi'
+ require 'win32ole'
+ require 'wmi-lite/wmi'
+
WIN32OLE.codepage = WIN32OLE::CP_UTF8
+ wmi = WmiLite::Wmi.new
+
kernel Mash.new
- host = WMI::Win32_OperatingSystem.find(:first)
+ host = wmi.first_of('Win32_OperatingSystem')
kernel[:os_info] = Mash.new
- host.properties_.each do |p|
- kernel[:os_info][p.name.wmi_underscore.to_sym] = host.send(p.name)
+ host.wmi_ole_object.properties_.each do |p|
+ kernel[:os_info][p.name.wmi_underscore.to_sym] = host[p.name.downcase]
end
kernel[:name] = "#{kernel[:os_info][:caption]}"
kernel[:release] = "#{kernel[:os_info][:version]}"
kernel[:version] = "#{kernel[:os_info][:version]} #{kernel[:os_info][:csd_version]} Build #{kernel[:os_info][:build_number]}"
kernel[:os] = os_lookup(kernel[:os_info][:os_type]) || languages[:ruby][:host_os]
- host = WMI::Win32_ComputerSystem.find(:first)
+ host = wmi.first_of('Win32_ComputerSystem')
kernel[:cs_info] = Mash.new
- host.properties_.each do |p|
- kernel[:cs_info][p.name.wmi_underscore.to_sym] = host.send(p.name)
+ host.wmi_ole_object.properties_.each do |p|
+ kernel[:cs_info][p.name.wmi_underscore.to_sym] = host[p.name.downcase]
end
kernel[:machine] = machine_lookup("#{kernel[:cs_info][:system_type]}")
kext = Mash.new
pnp_drivers = Mash.new
- drivers = WMI::Win32_PnPSignedDriver.find(:all)
+ drivers = wmi.instances_of('Win32_PnPSignedDriver')
drivers.each do |driver|
- pnp_drivers[driver.DeviceID] = Mash.new
- driver.properties_.each do |p|
- pnp_drivers[driver.DeviceID][p.name.wmi_underscore.to_sym] = driver.send(p.name)
+ pnp_drivers[driver['deviceid']] = Mash.new
+ driver.wmi_ole_object.properties_.each do |p|
+ pnp_drivers[driver['deviceid']][p.name.wmi_underscore.to_sym] = driver[p.name.downcase]
end
- if driver.DeviceName
- kext[driver.DeviceName] = pnp_drivers[driver.DeviceID]
- kext[driver.DeviceName][:version] = pnp_drivers[driver.DeviceID][:driver_version]
- kext[driver.DeviceName][:date] = pnp_drivers[driver.DeviceID][:driver_date] ? pnp_drivers[driver.DeviceID][:driver_date].to_s[0..7] : nil
+ if driver['devicename']
+ kext[driver['devicename']] = pnp_drivers[driver['deviceid']]
+ kext[driver['devicename']][:version] = pnp_drivers[driver['deviceid']][:driver_version]
+ kext[driver['devicename']][:date] = pnp_drivers[driver['deviceid']][:driver_date] ? pnp_drivers[driver['deviceid']][:driver_date].to_s[0..7] : nil
end
end
kernel[:pnp_drivers] = pnp_drivers
kernel[:modules] = kext