How to configure folder visibility with Access Based Enumeration enabled?
Server Configuration Question:
A shared folder is configured on the server with Access Based Enumeration enabled. Users have access rights to specific subfolders within this shared folder.
Problem:
When access rights to certain subfolders are removed from a user, they continue to see these folders in the list but cannot access them. How should the system be configured so that folders to which a user has no access rights become invisible?
Access Based Enumeration (ABE) automatically hides folders that users do not have access rights to. To resolve folder visibility issues, you need to properly configure NTFS permissions, clear cached permissions, and verify permission inheritance. For ABE to work correctly, users must have “List Folder Contents” permissions for all directories from the root to the target folder.
Contents
- What is Access Based Enumeration
- Configuring ABE in Server Manager
- Configuring ABE via PowerShell
- Configuring ABE via GPO
- Common Issues and Solutions
- Setting Up Permissions for Proper ABE Operation
- Clearing Cache and Restarting
- DFS-Specific Features
- Verification and Testing
What is Access Based Enumeration
Access Based Enumeration (ABE) is a Windows Server feature that hides files and folders that users do not have access rights to. Instead of displaying the complete contents of a share, users only see the folders and files for which they have corresponding permissions.
Important: By default, ABE is disabled and must be explicitly enabled for each share.
According to official Microsoft documentation, ABE plays a critical role in ensuring data privacy by guaranteeing that users only see files and folders they have access rights to.
Configuring ABE in Server Manager
To enable ABE through the Server Manager graphical interface:
- Open Server Manager on your Windows Server
- Select the File and Storage Services role
- Navigate to the Shares section
- Find the desired share and right-click on it
- Select Properties
- Go to the Settings tab
- Check the box for Enable access-based enumeration
- Click OK to apply the changes
As explained in the Windows OS Hub article, this method is the simplest for quickly enabling ABE on individual shares.
Configuring ABE via PowerShell
To manage ABE through PowerShell, use the Set-SmbShare cmdlet:
Set-SmbShare -Name "ShareName" -FolderEnumerationMode AccessBased
To check the current folder enumeration mode:
Get-SmbShare | Format-Table Name, FolderEnumerationMode
To return to standard mode:
Set-SmbShare -Name "ShareName" -FolderEnumerationMode AccessBased
As demonstrated by TheITBros, this method is particularly useful for automating deployment and management of multiple shares.
Configuring ABE via GPO
For mass deployment of ABE in a domain, use Group Policy Objects:
- Open the Group Policy Management Console (gpmc.msc)
- Create a new GPO or edit an existing one
- Navigate to: Computer Configuration → Preferences → Windows Settings → Network Shares
- Create a new Share item
- In the share settings, enable the Access-based enumeration option
- Apply the GPO to the desired OUs with servers
As noted in the Tenfold Security article, this method allows centralized management of ABE across all domain servers.
Common Issues and Solutions
Issue: Folders are visible but inaccessible
When a user can see a folder but cannot access it, this typically means:
- Permission inheritance: The folder may be inheriting permissions from parent directories
- Cached permissions: The system is using cached permission data
- List rights: The user has “List Folder Contents” rights for intermediate folders
Solution:
-
Disable permission inheritance for the problematic folder:
- Right-click on the folder → Properties → Security → Advanced
- Click Disable inheritance → Convert inherited permissions to explicit permissions
-
Remove unnecessary permissions explicitly:
- In the Permissions section, remove groups or users who should not have access to the folder
- Save the changes
As explained on Server Fault, disabling inheritance and explicitly managing permissions often resolves folder visibility issues.
Setting Up Permissions for Proper ABE Operation
For ABE to work correctly, users must have “List Folder Contents” permissions for all directories from the root to the target folder:
- Ensure users have “List Folder Contents” for parent folders
- Disable permission inheritance for final folders if necessary
- Explicitly assign permissions only to groups that need access
Important: If a user does not have “List Folder Contents” rights for any intermediate folder, ABE will not work.
As pointed out by Tenfold Security, this is a critical aspect of ABE configuration that administrators often overlook.
Clearing Cache and Restarting
After changing permissions, cache clearing may be required:
-
Clear Kerberos cache:
cmdklist purge
-
Restart the client:
- Completely close and reopen File Explorer
- Or restart the user’s computer
-
Restart services on the server:
powershellRestart-Service LanmanWorkstation Restart-Service LanmanServer
As noted by users on Reddit, clearing the Kerberos cache (klist purge) often resolves issues with cached permissions.
DFS-Specific Features
When working with DFS Namespaces, ABE configuration has specific features:
-
Enable ABE in DFS Management:
- Open DFS Management
- Right-click on the namespace → Properties
- Check the box for Enable access-based enumeration
-
Configure permissions on each server:
- ABE requires configuring permissions on automatically created folders on each namespace server
- Permissions are not automatically replicated between servers
As noted in the Reddit article, for DFS, you must explicitly modify NTFS permissions on the folder structure automatically created on each namespace server.
Verification and Testing
After configuring ABE, perform the following checks:
-
Check effective permissions:
- Right-click on the folder → Properties → Security → Advanced
- Click Select a user → enter the username → Check
-
Test with different accounts:
- Log in as a user who should not have access
- Check folder visibility in File Explorer
- Verify that inaccessible folders are indeed hidden
-
Use different access methods:
- Via NETBIOS server name
- Via server FQDN
- Through UNC path
As explained in Microsoft Q&A, it’s important to check effective permissions rather than just explicitly set permissions, as ABE is based on the user’s final permissions.
Sources
- Microsoft Learn - Enable Access-based Enumeration on a Namespace
- Windows OS Hub - Enable Access-based Enumeration (ABE) on Shared Folders
- TheITBros - Configure Access Based Enumeration on Windows Server 2016
- Tenfold Security - Access Based Enumeration: How to Enable ABE for Windows Server
- Server Fault - Access-based enumeration not working with share-subfolders
- Reddit - Access Based Enumeration is ignored when accessing new server unless by FQDN
- Microsoft Q&A - Access based Enumeration NOT working
Conclusion
To properly configure folder visibility with Access Based Enumeration enabled, you need to:
- Enable ABE on the share through Server Manager, PowerShell, or GPO
- Properly configure NTFS permissions, disabling inheritance for sensitive folders
- Ensure “List Folder Contents” rights for intermediate directories
- Clear the Kerberos cache after changing permissions
- Restart client systems to apply changes
- Check effective permissions for all users
If the issue persists after these steps, test with different access methods (NETBIOS vs FQDN) and ensure that DFS has appropriate permissions configured on each namespace server.