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) →

Deny ACE count should be investigated

AD-DACL-05InfoActive DirectoryPermissions and delegation

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

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

Deny ACEs are powerful because they can override allow permissions and create access outcomes that are difficult to troubleshoot. Counting them provides a quick baseline for how much explicit denial logic exists in the collected AD permission set.

  • Highlights explicit deny usage in AD DACLs
  • Supports troubleshooting for delegation and access issues
  • Helps prioritize deeper review when deny ACE volume is high

Operational

Review deny ACE usage carefully. Ensure each deny entry is intentional, documented, and still required. Excessive or poorly understood deny entries can create administrative confusion and mask broader permission issues.

This test retrieves $adState.DaclEntries, filters entries where AccessControlType contains Deny, and reports the total deny ACE count along with the number of affected objects.

  • Test-MtAdDaclDenyAceDetails
  • Test-MtAdDaclDistinctObjectCount
  • Test-MtAdDaclOuObjectCount

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-05
SeverityInfo
SuiteActive Directory
ProductActive Directory
FeaturePermissions and delegation
AreaAccess control
Resource typePermission
MITRE ATT&CKNone
PowerShell testTest-MtAdDaclDenyAceCount
ServicesActiveDirectory
PermissionsActiveDirectory:Ldap:*.ntSecurityDescriptor:ReadControl
Long runningYes