我有一个安全要求,在我的应用程序登录用户之后,它应该显示用户最近一次登录的日期和时间。Active复制的"lastLogonTimeStamp“值远未达到所需的水平,因此我编写了一些受http://bit.ly/nf3wbM启发的代码,在域中的每个域控制器中搜索用户,获取"lastLogon”值并保留最大值。这个数值似乎是准确的。
坏消息是,我的代码找到了100+域控制器,在所有这些控制器上查找用户需要13分钟。我已经登录到我自己的帐户,在调试我的代码时,我注意到我以前只登录到这些域控制器中的55个。更有趣的是,从今天开始,只有7个域控制器显示登录时间,而我在这7个域控制器上的"logonCount“值超过1000个,而其他域控制器的登录时间是个位数。如果我修改我的代码,只在这7个域控制器上查找我的帐户,我可以在7秒内确定我最近的登录时间,这是一个可以接受的性能。
我向社区提出的问题是,是什么使这7个域控制器变得特殊,以及如何让我的代码只在这些域上查找登录状态?
谢谢你,尤金
发布于 2011-09-16 01:49:09
您希望跟踪Windows登录,还是只跟踪应用程序的登录?
对于Windows登录的跟踪在2008年变得更加容易了,如果你想要的是:
启用对上一次登录时间戳数据的全局跟踪;在应用于DC的组策略中设置此值(不要在不知道警告的情况下将其应用于工作站;此策略将防止从网络断开连接的系统登录):
计算机配置>策略>管理模板> Windows组件> Windows登录选项>在用户登录期间显示以前登录的信息
然后,msDS-LastSuccessfulInteractiveLogonTime属性将在整个域中复制一致的数据。
如果您只想跟踪应用程序登录,请考虑跟踪模式属性中的数据,该属性只需在成功登录时写入您自己。
https://serverfault.com/questions/312044
复制相似问题