你们有没有试过这样一个情况,为了加强AD域的帐号安全,防止帐号被恶意的密码枚举,所以在AD域中设置了帐号锁定的策略,当你设置了帐号锁定策略之后,发现真的有很多的用户反馈帐号用不了了,查看这个用户的帐号时原来已经被锁定了,这时肯定就需要解锁。

目的

上了帐号锁定策略后,才知道网络中原来有这么多的不安全,为了能够方便的批量为帐号解锁,另外又想要做一些相关的帐号锁定测试,方便的找出帐号锁定的原因,下面教大家使用AD 管理工具以及小工具,查询出在某个时间点之后被锁定的帐号和单个帐号的状态查询,希望对大家有用。

LockoutStatus用户状态查询小工具

下载地址:

 http://www.microsoft.com/en-us/download/details.aspx?id=15201

在已经加入域的计算机上,以管理员的帐号登录,并打开这个LockoutStatus 工具,如下图:

单击file-select Target

clip_image002

在弹出的窗口中,输入帐号,以及当前的域名,然后单击OK,即自动查询所有的DC服务器(这个小工具就方便在这里,它会自动查询所有的DC 服务器的日志)

clip_image004

正在查询

clip_image006

查询结果,可以看到这个用户的User State 状态为Not Locked ,即没被锁定,以及最后输错密码的时间。当然还有输错的密码次数等信息。

clip_image008

还可以利用这个工具直接解锁用户和重置密码。真的很方便。

clip_image010

查询某个时间点后被锁定的用户

注:以下例子为查询2014年03月12日下午4点后被锁定的用户

打开ADUC管理工具,右击保存查询,然后新建一个查询,如下图:

clip_image011

然后在新建查询的窗口中输入该查询的名称,如:查询某个时间点后被锁定的用户,以及定义要查询的位置(定位到某个OU或域)

clip_image012

clip_image013

然后单击“定义查询”

clip_image014

然定义查询的窗口中,查询类型选择“定义搜索”

clip_image015

然后单击高级

clip_image016

在高级的框中输入以下内容,以查询2014年03月12日下午4点后被锁定的用户为例:

(objectclass=user)(lockouttime>=130390848000000000)

clip_image017

其中命令中的130390848000000000 数字需要进行转换才能得到

时间的转换请到以下网站进行自动转换:

 http://www.silisoftware.com/tools/date.php

如下图:

20140312040000 为标准时间(注:比中国时间慢12小时,所以就转换03月12日凌晨4点,转换后就是下午4),精准到时分秒,转换成功后,复制FILETIME 的值出来,替换命令中的值即可

clip_image019

确认转换的值是否正确

打开CMD 命令行,输入w32tm.exe /ntte 130390848000000000

如下图,就是下午4点的格式了:

clip_image020

回到AD 查询这里,再次确认查询语句,然后单击OK

clip_image021

再单击OK

clip_image022

右击刚新建的查询,然后单击刷新

clip_image024

立刻就可以看到这个时间点之被锁定的用户了,一共有32个这样的帐号

clip_image026