Sha256: fd702dacf0c687dc0121a5ad83c252534bd5707080a28db9e6d4da2f61dc7e08
Contents?: true
Size: 1.38 KB
Versions: 28
Compression:
Stored size: 1.38 KB
Contents
require 'facter/operatingsystem/base' module Facter module Operatingsystem class Windows < Base def get_operatingsystemrelease require 'facter/util/wmi' result = nil Facter::Util::WMI.execquery("SELECT version, producttype FROM Win32_OperatingSystem").each do |os| result = case os.version when /^6\.4/ # As of October 2014, there are no Win server releases with kernel 6.4.x. # This case prevents future releases from resolving to nil before we # can update the fact regexes. os.producttype == 1 ? "10" : Facter[:kernelrelease].value when /^6\.3/ os.producttype == 1 ? "8.1" : "2012 R2" when /^6\.2/ os.producttype == 1 ? "8" : "2012" when /^6\.1/ os.producttype == 1 ? "7" : "2008 R2" when /^6\.0/ os.producttype == 1 ? "Vista" : "2008" when /^5\.2/ if os.producttype == 1 "XP" else begin os.othertypedescription == "R2" ? "2003 R2" : "2003" rescue NoMethodError "2003" end end else Facter[:kernelrelease].value end break end result end end end end
Version data entries
28 entries across 28 versions & 1 rubygems