我正在尝试通过执行 ldap 查询并使用属性 lastLogon 来确定 Active Directory 用户上次登录的时间。此代码在两个 Web 服务器上运行。每个服务器都连接到不同的域控制器。每个 Web 服务器的上次登录日期和时间都不同。为什么会这样?我如何才能获得最准确的上次登录日期和时间?
答案1
LastLogon 未被复制。您需要使用 LastLogonTimestamp,或者查询所有域控制器以查找最近的登录。
LastLogonTimestamp 也不是每次都复制。只有当它早于 ~14 天(加减几天)时才会复制。
可以通过使用 ADSIEdit.msc. 域命名上下文、msDS-LogonTimeSyncInterval 属性来减少它。
更多信息:
https://docs.microsoft.com/en-us/windows/win32/adschema/a-msds-logontimesyncinterval