Hello,
To determine for how long a user account has been inactive, Adaxes uses the following attributes:
- Last-Logon-Timestamp
- Password Last Set
The issue can be caused by the fact that the Last-Logon-Timestamp attribute is not updated each time a user logs in to your AD domain. As stated by Microsoft in this article:
Whenever a user logs on, the value of this attribute is read from the DC. If the value is older [ current_time - msDS-LogonTimeSyncInterval ], the value is updated. The initial update after the raise of the domain functional level is calculated as 14 days minus random percentage of 5 days.
Thus, for example, if the Last-Logon-Timestamp attribute was last updated, say, 2 weeks before a user went on a vacation, then the account was inactive during the time of the vacation, this already makes more than 4 weeks of inactivity.
To avoid such situations, you can, for example, extend the period in the Scheduled Task to something more than 4 weeks or modify the msDS-LogonTimeSyncInterval attribute of your AD domain in order for the Last-Logon-Timestamp attribute to be updated more often.