Sha256: a2e8767e10e0d09640e4ebbea5b67c3d23d4fd1b5efa77a8804653f9f16095e3

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

require 'facter/operatingsystem/base'

module Facter
  module Operatingsystem
    class Windows < Base
      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' : Facter[:kernelrelease].value
              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
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
facter-2.5.0 lib/facter/operatingsystem/windows.rb
facter-2.5.0-x86-mingw32 lib/facter/operatingsystem/windows.rb
facter-2.5.0-x64-mingw32 lib/facter/operatingsystem/windows.rb
facter-2.5.0-universal-darwin lib/facter/operatingsystem/windows.rb