Missing object properties

The following command returns an object for the folder ACL

Get-Acl -Path $env:TEMP

The object type is System.Security.AccessControl.DirectorySecurity
MS Docs lists amongst other properties AccessRulesModified and AuditRulesModified. With Get-Members i find the methodes ModifyAccessRule and ModifyAuditRule, but not the mentioned properties:

Get-Acl -Path $env:TEMP | Get-Member -Name '*modify*' -force

   TypeName: System.Security.AccessControl.DirectorySecurity
Name             MemberType Definition                                                                                   
----             ---------- ----------                                                                                   
ModifyAccessRule Method     bool ModifyAccessRule(System.Security.AccessControl.AccessControlModification modification...
ModifyAuditRule  Method     bool ModifyAuditRule(System.Security.AccessControl.AccessControlModification modification,...

How can i access the missing properties?

As you can see from the documentation pages on those particular properties, these are not public properties, they are protected – this means that only the object itself or objects inheriting from this type can access these properties.

They are not missing, merely hidden and tucked away because they aren’t intended to be accessible. :slight_smile: