Method: Rex::Parser::Unattend.parse

Defined in:
lib/rex/parser/unattend.rb

.parse(xml) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/rex/parser/unattend.rb', line 16

def self.parse(xml)
  return [] if xml.nil?
  results = []
  unattend = xml.elements['unattend']
  return [] if unattend.nil?
  unattend.each_element do |settings|
      next if settings.class != REXML::Element
      settings.get_elements('component').each do |c|
        next if c.class != REXML::Element
        results << extract_useraccounts(c.elements['UserAccounts'])
        results << extract_autologon(c.elements['AutoLogon'])
        results << extract_deployment(c.elements['WindowsDeploymentServices'])
        results << extract_domain_join(c.elements['Identification/Credentials'])
      end
    end
  return results.flatten
end