in itchef/cookbooks/cpe_applocker/libraries/applocker_helpers.rb [224:257]
def gen_applocker_xml
require 'nokogiri'
builder = Nokogiri::XML::Builder.new do |xml|
xml.AppLockerPolicy(:Version => 1) do
get_applocker_rules.map do |ruleset, opts|
xml.RuleCollection(:Type => ruleset,
:EnforcementMode =>
cpe_applocker_enabled? ? opts['mode'] :
'NotConfigured') do
opts['rules'].each do |rule|
case rule['type']
when 'path'
gen_file_path_rule(rule, xml)
when 'hash'
gen_file_hash_rule(rule, xml)
when 'certificate'
gen_file_publisher_rule(rule, xml)
end
end
end
end
end
end
builder.to_xml(
:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML |
Nokogiri::XML::Node::SaveOptions::NO_DECLARATION,
).strip
end