Module: Chef::Mixin::PowershellExec

Instance Method Summary collapse

Instance Method Details

#powershell_exec(script, interpreter = :powershell) ⇒ Chef::PowerShell

Run a command under PowerShell via a managed (.NET) API.

Requires: .NET Framework 4.0 or higher on the target machine.

Parameters:

  • script (String)

    script to run

  • interpreter (Symbol) (defaults to: :powershell)

    the interpreter type, :powershell or :pwsh

Returns:


108
109
110
111
112
113
114
115
116
117
# File 'lib/chef/mixin/powershell_exec.rb', line 108

def powershell_exec(script, interpreter = :powershell)
  case interpreter
  when :powershell
    Chef::PowerShell.new(script)
  when :pwsh
    Chef::Pwsh.new(script)
  else
    raise ArgumentError, "Expected interpreter of :powershell or :pwsh"
  end
end

#powershell_exec!(script, interpreter = :powershell) ⇒ Object

The same as the #powershell_exec method except this will raise Chef::PowerShell::CommandFailed if the command fails


121
122
123
124
125
# File 'lib/chef/mixin/powershell_exec.rb', line 121

def powershell_exec!(script, interpreter = :powershell)
  cmd = powershell_exec(script, interpreter)
  cmd.error!
  cmd
end