AD-DACL-14 - Non-inherited ACE count should be retrievable
Overviewβ
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
Security Recommendationβ
- 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
How the Test Worksβ
This test reads $adState.DaclEntries and counts entries where IsInherited is $false.
Related Testsβ
Test-MtAdDaclDenyAceCount- Counts deny ACEs in DACLsTest-MtAdDaclPrivilegedAllowAceCount- Counts privileged allow authorizationsTest-MtAdDaclUnresolvedSidCount- Identifies stale SID references in ACEs
Test Metadataβ
| Field | Value |
|---|---|
| Test ID | AD-DACL-14 |
| Severity | Info |
| Suite | Active Directory |
| Category | AD.DACL |
| PowerShell test | Test-MtAdDaclNonInheritedAceCount |
| Tags | AD, AD-DACL-14, AD.DACL |
Sourceβ
- Pester test:
tests/ad/dacl/Test-MtAdDaclNonInheritedAceCount.Tests.ps1 - PowerShell source:
powershell/public/ad/dacl/Test-MtAdDaclNonInheritedAceCount.ps1

