在 Active Directory 域中,如果我在域成员计算机上配置 Windows 服务以使用 AD 用户帐户(又名“ye olde 服务帐户”)启动,然后服务保持运行但我不重新启动服务或重新启动机器一年...服务帐户的用户对象的 LastLogonTimestamp 是否继续更新?
编辑:如果你说“它取决于服务”,那么以 MS SQL Server 为例。我将 MSSQL 引擎设置为作为 contoso\sql-service 运行。然后我把它放了一年。
在 Active Directory 域中,如果我在域成员计算机上配置 Windows 服务以使用 AD 用户帐户(又名“ye olde 服务帐户”)启动,然后服务保持运行但我不重新启动服务或重新启动机器一年...服务帐户的用户对象的 LastLogonTimestamp 是否继续更新?
编辑:如果你说“它取决于服务”,那么以 MS SQL Server 为例。我将 MSSQL 引擎设置为作为 contoso\sql-service 运行。然后我把它放了一年。
经过一番研究:
LastLogonTimestamp 更新为以下登录类型:交互式、网络和服务登录。
但是,该属性不会随着每次登录而更新...
还有另一个属性
ms-DS-Logon-Time-Sync
控制LastLogonTimestamp
属性更新的频率[以天为单位]。默认值为 14 天并在代码中设置,因此如果您查看 ADSIEdit 中的值,您将不会看到它已设置。因此,更新的决定
LastLogonTimestamp
是基于当前日期ms-DS-Logon-Time-Sync
减去随机百分比(5)的值。如果结果等于或大于LastLogonTimestamp
该属性,则更新并复制到其他 DC。过程:
lastLogontimeStampUpdate 更新演练
其中大部分内容可在 Microsoft 目录服务团队的以下博客文章中找到:“LastLogonTimeStamp 属性”——“它的设计目的和工作原理”
所以,是的,您应该看到属性更新,但仅基于上述时间。
我已经建立了一个运行这个实验的环境。它由一个 Active Directory 组成,MSDS-LogonTimeSyncInterval 设置为 1 天。然后,我在另一台加入域的服务器上安装了一个 MS SQL 实例,并创建了一个新的域帐户以用作 SQL 服务帐户。SQL 于 6 月 9 日启动,当然当 SQL 启动时,服务帐户也是第一次登录域。服务帐户的 LastLogonDate 仍未从 6 月 9 日的初始值更新,我希望它永远不会......直到重新启动 SQL。
这背后的想法是,如果我正在搜索需要禁用的“非活动”用户帐户,仅依靠用户的 LastLogonDate 可以为您提供一些仍在使用中的服务帐户,但恰好用于运行服务很久没有重启了。