不正确的LastLogonTimeStamp Active Directory中用户的值

时间:2009-05-11 16:32:59

标签: active-directory

我在Active Directory中使用User的LastLogonTimeStamp属性来获取上次登录日期时间,值不一致,

其他人是否面临同样的问题?

我们可以信任LastLogonTimeStamp吗?

更新: 它只是一个域控制器

6 个答案:

答案 0 :(得分:2)

http://www.microsoft.com/technet/scriptcenter/topics/win2003/lastlogon.mspx

如果您有很多域控制器且不需要最准确的结果,则只能使用lastLogonTimeStamp。使用单个域控制器时,请使用lastLogon属性。

答案 1 :(得分:2)

设计中的LastLogonTimeStamp仅在用户登录时更新,当前值介于9到14天之间。他们这样做是为了减少AD中的复制流量。

blog posting说的很好:

  

重要的是要注意到   预期目的   lastLogontimeStamp属性提供帮助   识别不活动的计算机和用户   账户。 lastLogon属性是   不是为了提供实时   登录信息。默认情况下   设置到位   lastLogontimeStamp将是9-14天   在当前日期之后。

如果您想要用户的真实上次登录信息,则必须从域中的每个域控制器中提取lastLogon属性并使用最新值。

答案 2 :(得分:1)

您是否拥有多个DC(域控制器)的网络?它们可能不同步,因为LastLogonTimeStamp将在用户实际登录的DC上更新,并且同步可能需要一些时间。

马克

答案 3 :(得分:1)

如果你计划拥有多个DC,那么LastLogonTimeStamp可能不是一个可靠的方法来确定一个帐户是否已“变得”陈旧“,因为该属性没有被复制到很多其他DC(大多数? )场景,取决于您的域功能级别。

确定此问题的更好方法是查看“密码期限”(通过PasswordLastChanged属性)。例如,如果有人在密码过期后一两周内没有重置密码(或者根据您的特定环境而在某个其他时间段内),那么您很可能在那里拥有一个孤立帐户。

答案 4 :(得分:1)

您无法通过lastlogon或lastlogontimestamp直接获得用户的 True LastLogon 时间。您需要做一些自定义工作才能获得最新的登录时间。< / p>

通过 LastLogon

您需要查询来自所有域控制器的lastlogon值并比较所有值,然后获得最高登录时间作为True Last Logon

通过 LastLogonTimeStamp

由于它是可复制的属性,您只能从一个DC进行查询,但它不会给出准确的结果,它具有大约14天的精度取决于属性 msDS-LogonTimeSyncInterval

答案 5 :(得分:0)

  

如果您想要用户的真实上次登录信息,则必须从域中的每个域控制器中提取lastLogon属性并使用最新值。

不幸的是,这并不完全准确。我已经使用了lastlogon属性,虽然对于我用这个测试过的大多数用户帐户来说它相当接近,但是我遇到过许多在1600年返回日期的用户,而那些近距离显示的有时我知道肯定的指定的用户甚至无法登录,例如我自己的LastLogon在早上7:50显示,当时我知道我在上午8:15登录。

许多管理员似乎有时希望使用此信息来验证对公司政策的遵守情况。不幸的是,微软似乎因设计系统功能而无视这些意图。