Class: Inspec::Resources::AuditPolicy

Inherits:
Object
  • Object
show all
Defined in:
lib/inspec/resources/audit_policy.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/inspec/resources/audit_policy.rb', line 36

def method_missing(method)
  key = method.to_s

  # expected result:
  # Machine Name,Policy Target,Subcategory,Subcategory GUID,Inclusion Setting,Exclusion Setting
  # WIN-MB8NINQ388J,System,Kerberos Authentication Service,{0CCE9242-69AE-11D9-BED3-505054503030},No Auditing,
  result ||= inspec.command("Auditpol /get /subcategory:'#{key}' /r").stdout

  # find line
  target = nil
  result.each_line do |s|
    target = s.strip if s =~ /\b.*#{key}.*\b/
  end

  # extract value
  values = nil
  unless target.nil?
    # split csv values and return value
    values = target.split(",")[4]
  end

  values
end

Instance Method Details

#resource_idObject

Since this resource does not have any unique identifier for resource, sending the Auditpol command as UUID.



61
62
63
# File 'lib/inspec/resources/audit_policy.rb', line 61

def resource_id
  "audit_policy"
end

#to_sObject



65
66
67
# File 'lib/inspec/resources/audit_policy.rb', line 65

def to_s
  "Audit Policy"
end