您的位置:首页 > 其它

查询AD用户最后具体登陆时间

2015-11-26 16:52 369 查看
C:\Windows\System32>csvde -l "cn,objectclass,description,lastLogon,lastLogonTime
stamp" -r "(&(objectcategory=person)(objectClass=user))" -d "ou=***,dc=
******,dc=com"(改成自己需要的) -f D:\pst\111.csv
连接到“******.com”
用 SSPI 作为当前用户登录
将目录导出到文件 D:\pst\111.csv
搜索项目...
写出项目
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
.......
导出完毕。后续处理正在进行...
导出了 487 个项目

命令已成功完成

完成后生成的数据是
这样的:129911114686249000 (D列)
在EXCEL内执行如下转换格式:=IF(D61>0,D61/(8.64*100000000000)-109205,"")

以下上转的:

如何得到用户最近一次登陆域的时间?在Windows 2003域中有2个属性:lastLogon和lastLogonTimestamp,那么这2个属性到底有什么作用呢?lastLogon 属性实时更新用户登录时间,但它不会从一个DC复制到另一个DC。假设一个用户登录到了DC A上,那么DC A上lastLogon既是用户的最近登录时间,但如果你在DC B上查询用户的最近登录时间,得到的结果将会是该用户没有登录过,尽管此时用户正登录在域上。lastLogonTimestamp 属性会从一个DC复制到另一个DC。因此,不论你查询域中任何一个DC,都会得到相同的结果。但是lastLogonTimestamp属性不反映确切的“最后登录时间”,为什么呢?想像一下,一群用户每天要登陆注销好几次,每次登陆状态都要复制到整个域的每台DC,这将可能导致相当大的复制流量。而通常情况下,我们仅仅关心那些在过去几周内没有登录过的“陈旧”帐号,而不需要一个精确到分秒的最后的登录状态。因此,lastLogonTimestamp隔14天才复制一次,从而减少复制流量,但同时也意味着,对任何用户来说,这个时间可能有14天的偏移。因此,如果你想获得用户精确的最近登录时间,只能查询每一台DC的lastLogon属性,然后进行比对。但如果你仅仅想知了解过去的2周内是否有用户没有登录过,那么查询lastLogonTimestamp就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息