Skip to content
Sponsor
3.0 preview2.3.0 stable

These docs describe the preview. Pick the version you run and every page marks what it doesn't have yet. Get the preview →
Maester 2.x docs (archived) →

Non-inherited ACE count should be investigated

AD-DACL-14InfoActive DirectoryPermissions and delegation

Part of Active Directory · Active Directory · Permissions and delegation · All checks

Run this check
Invoke-Maester -TestId AD-DACL-14

Non-inherited ACEs represent explicit access assignments applied directly to directory objects.

  • Custom delegation visibility: Explicit ACEs often reveal manual delegations and exceptions
  • Misconfiguration detection: Direct permissions are more likely to diverge from baseline inheritance
  • Review prioritization: Objects with many explicit ACEs deserve closer security review

Operational

  • Review why explicit permissions were added instead of relying on inheritance
  • Remove unnecessary one-off ACEs and standardize delegations where possible
  • Pay special attention to explicit ACEs on privileged containers and administrative objects

This test reads $adState.DaclEntries and counts entries where IsInherited is $false.

  • Test-MtAdDaclDenyAceCount - Counts deny ACEs in DACLs
  • Test-MtAdDaclPrivilegedAllowAceCount - Counts privileged allow authorizations
  • Test-MtAdDaclUnresolvedSidCount - Identifies stale SID references in ACEs

Note: This test is LongRunning. It loads the full DACL dataset, which can consume significant memory in large Active Directory environments. Use Invoke-Maester -IncludeLongRunning to run it.

Every attribute of this check
FieldValue
Test IDAD-DACL-14
SeverityInfo
SuiteActive Directory
ProductActive Directory
FeaturePermissions and delegation
AreaAccess control
Resource typePermission
MITRE ATT&CKNone
PowerShell testTest-MtAdDaclNonInheritedAceCount
ServicesActiveDirectory
PermissionsActiveDirectory:Ldap:*.ntSecurityDescriptor:ReadControl
Long runningYes