We have a number of “shared” workstations. Which are now running out of drive space, because, even though we have enabled the “Delete user profiles older than a specified number days on system restart” Group Policy.
We were not the only people to notice this.
The cause is that “something” is updating the Last Access Date on NTUSER.DAT file, in each user’s profile.
My money is on Microsoft breaking it, as they have “form”
Addresses an issue where an incorrect timing calculation may prematurely delete user profiles on devices subject to the “Delete user profiles older than a specified number of day” group policy.
Improvement and Fixes – October 9, 2018—KB4464330 (OS Build 17763.55)
How to workaround the issue
The PowerShell script in the Windows OSHub post “How to Delete Old User Profiles Using GPO and PowerShell?” looks promising.
Update: July 2021
Reportedly, the group policy setting now checks the LocalProfileUnloadTimeLow & LocalProfileUnloadTimeHigh keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<User Sid>, to determine when to delete a profile.
References:
Group Policy: How to Automatically Delete User Profiles Older Than Certain Number of Days
Delete profiles after number of days not working on Windows 10