Res.AuditPolicyScript.ps1 (DeployableResource)

Element properties:

TypeDeployableResource
File NameAuditPolicyScript.ps1
AccessibilityPublic

Source Code:

<DeployableResource ID="Res.AuditPolicyScript.ps1" Accessibility="Public" FileName="AuditPolicyScript.ps1"/>

File Content: AuditPolicyScript.ps1

#------------------------------------------------------------------------------

# Copyright (c) Microsoft Corporation. All rights reserved.
#------------------------------------------------------------------------------
# This script pulls the audit policy settings for this machine and parse it to objects with the following members:
# PolicyId`
# PolicyValue
# return the list of these objects

$auditPolicy = Auditpol /get /category:* /r

$result = @()

for ($i = 1; $i -lt $auditPolicy.Length; $i++)
{
if($auditPolicy[$i])
{
$auditPolicyObj = new-object psobject
$splittedStr = $auditPolicy[$i].Split(",")
$policyId=$splittedStr[3]
$policyId=$policyId.TrimStart("{}")
$policyId=$policyId.TrimEnd("}")
Add-Member -InputObject $auditPolicyObj -MemberType NoteProperty -Name PolicyId -Value $policyId
Add-Member -InputObject $auditPolicyObj -MemberType NoteProperty -Name PolicyValue -Value $splittedStr[4]
$result += $auditPolicyObj
}
}

return $result