服务帐户LastLogonTimestamp

在Active Directory域中,如果我在域成员计算机上configurationWindows服务以启动AD用户帐户(也称为“ye olde服务帐户”),然后该服务仍在运行,但是我不重新启动服务或重新启动机器一年…服务帐户的用户对象的LastLogonTimestamp是否继续更新?

编辑:如果你说“这取决于服务”,那么以MS SQL Server为例。 我设置MSSQL引擎作为contoso \ sql-service运行。 然后,我独自一年。

经过一番研究:

LastLogonTimestamp使用以下logintypes进行更新:交互式,networking和服务login。

但是,该属性不会更新每个login…

还有另外一个属性ms-DS-Logon-Time-Sync ,控制器多久才会更新LastLogonTimestamp属性。 默认值是14天,并在代码中设置,所以如果您查看ADSIEdit中的值,您将不会看到它设置。

因此,更新LastLogonTimestamp的决定基于当前date,减去ms-DS-Logon-Time-Sync减去随机百分比(5)的值。 如果结果等于或大于LastLogonTimestamp则属性将更新并复制到其他DC。

处理:

演练lastLogontimeStampUpdate更新

  1. (假设ms-DS-Logon-Time-Sync-Interval的值默认为14)
  2. 用户login到域
  3. 检索用户的lastLogontimeStamp属性值
  4. 14 – (随机百分比5)= X
  5. 当前date – lastLogontimeStamp = Y的值
  6. X≤Y – 更新lastLognTimeStamp
  7. X> Y – 不更新lastLogontimeStamp

其中大部分内容来自Microsoft目录服务团队的以下博客文章: LastLogonTimeStamp属性“ – ”它的devise目的和工作原理“

所以,是的,你应该看到属性更新,但只基于上述时间。

我已经build立了一个运行这个实验的环境。 它由一个活动目录组成,MSDS-LogonTimeSyncInterval设置为1天。 然后,我在另一个join域的服务器上安装了MS SQL实例,并创build了一个新的域帐户用作SQL服务帐户。 SQL从6月9日开始,当然,当SQL启动时,服务帐户也是第一次login到域。 该服务帐户的LastLogonDate仍然没有从6月9日的初始值更新,我期待它永远不会……直到SQL重新启动。

这个背后的想法是,如果我正在search需要禁用的“非活动”用户帐户,只要依靠用户的LastLogonDate就可以为您提供一些仍在使用中的服务帐户,但恰好用于运行服务还没有长时间的重启。