Module: NexposeSCCM::Powershell

Defined in:
lib/nexpose_sccm/powershell.rb

Class Method Summary collapse

Class Method Details

.run(conn, cmd, *args) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/nexpose_sccm/powershell.rb', line 90

def self.run(conn, cmd, *args)
  unless @cmds.key?(cmd)
    NexposeSCCM.logger.error("Invalid command supplied: #{cmd}")
  end
  cmd = @cmds[cmd] % [*args]
  result = []
  conn.shell(:powershell) do |shell|
    err = nil
    output = shell.run(cmd) do |response, stderr|
      result << response
      err = stderr
    end
    if output.exitcode != 0
      NexposeSCCM.logger.error(err)
      result = nil
      break
    end
  end
  result
end