微软在Windows Server 2003中引入了LastLogonTimeStamp属性。管理员们可以利用这个属性查看用户或者计算机最近是否登录过域。根据这些信息,管理员可以对长时间没有登录的账户采取相应的措施。

有人就会问了,不是有LastLogon这个属性吗,为什么还要引入LastLogonTimeStamp这个属性呢?这个问题问得好,那么我先来解释一下这两个属性的区别吧。

LastLogon是记录某个账户上一次在该域控制器认证的时间。该属性是不会在域控制器之间复制的。所以,要是以前需要确定账户最后一次登录域的时间,必须查看所有域控制器上的LastLogon,最大的那个值就代表了账户最后一次登录域的时间。LastLogon只会记录交互式登录,Kerberos验证的用户。

LastLogonTimeStamp的值会在所有域控制器间复制。所以管理员只要从一个域控制器上就能得到用户上次登录的信息。不过,LastLogonTimeStamp的值并不一定代表真实的最后一次登录域的时间。它是根据一个更新间隔来更新的(注意:要启用这个属性,域功能级别必须是Windows Server 2003喔)。LastLogonTimeStamp会记录交互式登录,Kerberos和NTLM验证的用户。

这时候有人又会问了,LastLogonTimeStamp既然不一定代表真实的最后一次登录域的时间,那么干嘛要引入呢?作者也有过类似的疑问。不过后面想想,觉得也合情合理。因为管理员利用该值对长时间没有登录的账号进行管理,那么该值只要能反映出账号长时间没有登录这个信息就好了。所以,在合适的更新间隔情况下,LastLogonTimeStamp就能反映出长时间没有登录这个信息,同时减少了AD复制流量,减轻了网络负担,何乐而不为呢?

好吧,你肯定又想知道这个更新间隔是怎么回事了。待我慢慢道来。

基本更新间隔是由msDS-LogonTimeSyncInterval这个属性定义的。默认是14天。该基本更新间隔可以在域的属性中设置,范围为1到100,000天。同时还有一个窗口(Window)以及一个随机参数(Parameter)用来调节整个更新间隔,避免LastLogonTimeStamp的值在同一个时间更新。窗口的默认值为5天,随机参数为一个百分比。真正的更新间隔Actual_Interval计算公式如下:

Actual_Interval = msDS-LogonTimeSyncInterval – Window * Parameter 

举例说明:假如一个用户的LastLogonTimeStamp为2011/09/01,该用户在2011/09/10再次登录域。msDS-LogonTimeSyncInterval为14,Window为5,Parameter为80%。所以真正的更新间隔Actual_Interval为14 – 5 * 0.8 = 10。这时候由于没有满足更新条件,所以LastLogonTimeStamp不更新。请注意,用户登录后,在提供认证服务的域控制器上,LastLogon更新为2011/09/10。假如该用户在2011/09/11再次登录,这时候LastLogonTimeStamp就会更新为2011/09/11,并在域控制器之间进行复制。

刚好在作者的虚机里有这样的例子,那么我们根据图来看看这个LastLogonTimeStamp的更新吧。为了在Active Directory Users and Computer中的账户属性中看到这个属性,作者安装了AcctInfo2.dll。作者的虚机环境:两台域控制器在线(系统为Windows Server 2003 SP1),win2003AD和win2k3DC2;一台客户端win2k3ClientXP(系统为Windows XP)。

如下图XPClient用户登录前,在Win2003AD机器上,LastLogonTimeStamp为2011/08/31,而LastLogon为2011/09/13,这个间隔已经超过了更新间隔,所以假如XPClient登录,LastLogonTimeStamp必然会更新。

XPClient从win2k3ClientXP客户端登录之后,在Win2003AD机器上的LastLogonTimeStamp已经改变,如下图XPClient用户登录后所示。

细心的读者你肯定已经发现问题了吧,对的,两个图的LastLogon是一样的,这是为什么呢?原因就是,当前环境中有两台域控制器,而用户登录时联系的域控制器不是Win2003AD而是Win2k3DC2,所以LastLogon最新的数据会出现在Win2k3DC2上,如下图Win2k3DC2上XPClient信息。从这个图也可以看出,LastLogonTimeStamp已经通过AD复制同步了所有域控制器上的数据。

好了,今天的分享就到这里吧,相信通过上面详细的介绍之后,大家已经对LastLogonTimeStamp很了解了吧。

谢谢,

屈贝伟 | 企业平台支持部AD技术工程师 | 微软亚太区全球技术支持中心

本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予。

细说LastLogonTimeStamp的更多相关文章

  1. 匹夫细说C#:庖丁解牛迭代器,那些藏在幕后的秘密

    0x00 前言 在匹夫的上一篇文章<匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置>的最后,匹夫以总结和后记的方式涉及到一部分迭代器的知识.但是觉得还是不够过瘾,很多需要说清楚 ...

  2. 细说WebSocket - Node篇

    在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...

  3. 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包

    0x00 前言 通过上一篇博客<匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的>的内容,我们实现了使用委托来构建我们自己的消息系统的过程.但是在日常的开发中,仍然有很多开发者因为 ...

  4. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  5. 细说 Form (表单)

    细说 Form (表单) Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源. 虽然Asp.net WebForms框架为了帮助 ...

  6. 细说ASP.NET Forms身份认证

    阅读目录 开始 ASP.NET身份认证基础 ASP.NET身份认证过程 如何实现登录与注销 保护受限制的页面 登录页不能正常显示的问题 认识Forms身份认证 理解Forms身份认证 实现自定义的身份 ...

  7. 细说CSS选择器

    众所周知,CSS的一个核心特征就是能向文档中的一组元素类型应用某些规则.每个规则都有两个基本部分:选择器(selector)和声明块(declaration block).下图显示了规则的各个部分. ...

  8. [转]细说Redis监控和告警

    原文  https://zhuoroger.github.io/2016/08/20/redis-monitor-and-alarm/? 对于任何应用服务和组件,都需要一套完善可靠谱监控方案. 尤其r ...

  9. 细说.NET 中的多线程 (一 概念)

    为什么使用多线程 使用户界面能够随时相应用户输入 当某个应用程序在进行大量运算时候,为了保证应用程序能够随时相应客户的输入,这个时候我们往往需要让大量运算和相应用户输入这两个行为在不同的线程中进行. ...

随机推荐

  1. Mysql DDL与DML

    1,文件导入:LOAD DATA INFILE '/tmp/pet.txt' INTO TABLE pet FIELDS TERMINATED BY ',' LINES TERMINATED BY ' ...

  2. mysql 指定端口

    mysql -P3307 -uemove -h180. -p #-P是指定端口

  3. kvm 克隆虚拟机

    两步: 第一步导出XML: [root@ok ~]# virsh dumpxml centos02 >12c.xml 第二步磁盘文件 [root@ok virhost]# cp centos02 ...

  4. linux 远程 windows 命令:rdesktop vs windows mstsc

    [root@bass tmp]# which rdesktop /usr/bin/rdesktop [root@bass tmp]# rpm -qf /usr/bin/rdesktop rdeskto ...

  5. 好久没弄了,来个最简的centos下的Iptables文件存照吧。

    有最基本的作用.. # Generated by iptables-save v1. :: *filter :INPUT ACCEPT [:] :FORWARD ACCEPT [:] :OUTPUT ...

  6. C++编程学习50个经典网站 强力推荐 (转)

    C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码.这份清单提供了源代码的链接以及它们的小说明.我已 尽力包括最佳的C/C++源代码的网站.这不是一个完整的 ...

  7. Linphone iOS客户端编译时打开G729支持

    Assuming you were able to compile the SDK and the linphone XCode project, here is what you need to d ...

  8. vs 数据库链接Web.config 配置

    1.使用Windows身份验证 <add name="SQLConnectionString" connectionString="Data Source=U5MJ ...

  9. http://jingyan.baidu.com/article/636f38bb3eb78ad6b8461082.html

    http://jingyan.baidu.com/article/636f38bb3eb78ad6b8461082.html

  10. UVa1401 Remember the Word(DP+Trie树)

    题目给定一个字符串集合有几种方式拼成一个字符串. dp[i]表示stri...strlen-1的方案数 dp[len]=1 dp[i]=∑dp[j](stri...strj-1∈SET) 用集合的字符 ...