Class: PuppetX::PuppetLabs::Dsc::PowerShellVersion

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet_x/puppetlabs/powershell_version.rb,
lib/puppet_x/puppetlabs/powershell_version.rb

Constant Summary collapse

ACCESS_TYPE =
Win32::Registry::KEY_READ | 0x100
HKLM =
Win32::Registry::HKEY_LOCAL_MACHINE
PS_ONE_REG_PATH =
'SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine'
PS_THREE_REG_PATH =
'SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
REG_KEY =
'PowerShellVersion'

Class Method Summary collapse

Class Method Details

.powershell_one_versionObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/puppet_x/puppetlabs/powershell_version.rb', line 26

def self.powershell_one_version
  version     = nil
  begin
    HKLM.open(PS_ONE_REG_PATH, ACCESS_TYPE) do |reg|
      version = reg[REG_KEY]
    end
  rescue
    version = nil
  end
  version
end

.powershell_three_versionObject



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/puppet_x/puppetlabs/powershell_version.rb', line 38

def self.powershell_three_version
  version     = nil
  begin
    HKLM.open(PS_THREE_REG_PATH, ACCESS_TYPE) do |reg|
      version = reg[REG_KEY]
    end
  rescue
    version = nil
  end
  version
end

.versionObject



22
23
24
# File 'lib/puppet_x/puppetlabs/powershell_version.rb', line 22

def self.version
  powershell_three_version || powershell_one_version
end