class Facter::Operatingsystem::Windows

Public Instance Methods

get_operatingsystemrelease() click to toggle source
# File lib/facter/operatingsystem/windows.rb, line 6
def get_operatingsystemrelease
  require 'facter/util/windows'
  result = nil
  Facter::Util::Windows::Process.os_version do |os|
    result =
      case "#{os[:dwMajorVersion]}.#{os[:dwMinorVersion]}"
      when '10.0'
        if os[:dwBuildNumber] == 14300
          'Nano'
        else
          os[:wProductType] == 1 ? '10' : '2016'
        end
      when '6.3'
        os[:wProductType] == 1 ? "8.1" : "2012 R2"
      when '6.2'
        os[:wProductType] == 1 ? "8" : "2012"
      when '6.1'
        os[:wProductType] == 1 ? "7" : "2008 R2"
      when '6.0'
        os[:wProductType] == 1 ? "Vista" : "2008"
      when '5.2'
        if os[:wProductType] == 1
          "XP"
        elsif Facter::Util::Windows::Process.is_2003_r2?
          "2003 R2"
        else
          "2003"
        end
      else
        Facter[:kernelrelease].value
      end
    break
  end
  result
end