DscResources/FileSystemAuditRuleEntry/FileSystemAuditRuleEntry.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("FileSystemAuditRuleEntry")]
class FileSystemAuditRuleEntry : OMI_BaseResource
{
    [Key, Description("Indicates the path to the target item.")] String Path;
    [Required, Description("Indicates the audit rule information in the form of an array of instances of the FileSystemAuditRuleList CIM class."), EmbeddedInstance("FileSystemAuditRuleList")] String AuditRuleList[];
    [Write, Description("Indicates whether the audit rules defined should be enforced. Will remove any audit rules not explicitly defined in the configuration for the path.")] Boolean Force;
};

[ClassVersion("1.0.0.0")]
class FileSystemAuditRule
{
    [Required, Description("Specifies the conditions for auditing attempts to access a securable object."), ValueMap{"None","Success","Failure"}, Values{"None","Success","Failure"}] String AuditFlags;
    [Required, Description("Indicates the access rights to be granted to the principal."), ValueMap{"AppendData","ChangePermissions","CreateDirectories","CreateFiles","Delete","DeleteSubdirectoriesAndFiles","ExecuteFile","FullControl","ListDirectory","Modify","Read","ReadAndExecute","ReadAttributes","ReadData","ReadExtendedAttributes","ReadPermissions","Synchronize","TakeOwnership","Traverse","Write","WriteAttributes","WriteData","WriteExtendedAttributes"}, Values{"AppendData","ChangePermissions","CreateDirectories","CreateFiles","Delete","DeleteSubdirectoriesAndFiles","ExecuteFile","FullControl","ListDirectory","Modify","Read","ReadAndExecute","ReadAttributes","ReadData","ReadExtendedAttributes","ReadPermissions","Synchronize","TakeOwnership","Traverse","Write","WriteAttributes","WriteData","WriteExtendedAttributes"}] String FileSystemRights[];
    [Required, Description("Indicates the inheritance type of the permission entry."), ValueMap{"This folder only","This folder subfolders and files","This folder and subfolders","This folder and files","Subfolders and files only","Subfolders only","Files only"}, Values{"This folder only","This folder subfolders and files","This folder and subfolders","This folder and files","Subfolders and files only","Subfolders only","Files only"}] String Inheritance;
    [Required, Description("Specifies to add or remove the hte FileSystemAuditRule"), ValueMap{"Present", "Absent"},Values{"Present", "Absent"}] String Ensure;
};

[ClassVersion("1.0.0.0")]
class FileSystemAuditRuleList
{
    [Required, Description("Indicates the identity of the principal.")] String Principal;
    [Required, Description("Indicates whether the rights for this principal should be forced. Will remove any rights not explicitly defined in the configuration for the principal.")] Boolean ForcePrincipal;
    [Required, Description("Indicates the audit rule entry in the form of an array of instances of the FileSystemAuditRule CIM class."), EmbeddedInstance("FileSystemAuditRule")] String AuditRuleEntry[];
};