背景
你们有没有试过这样一个情况,为了加强AD域的帐号安全,防止帐号被恶意的密码枚举,所以在AD域中设置了帐号锁定的策略,当你设置了帐号锁定策略之后,发现真的有很多的用户反馈帐号用不了了,查看这个用户的帐号时原来已经被锁定了,这时肯定就需要解锁。
目的
上了帐号锁定策略后,才知道网络中原来有这么多的不安全,为了能够方便的批量为帐号解锁,另外又想要做一些相关的帐号锁定测试,方便的找出帐号锁定的原因,下面教大家使用AD 管理工具以及小工具,查询出在某个时间点之后被锁定的帐号和单个帐号的状态查询,希望对大家有用。
LockoutStatus用户状态查询小工具
下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=15201
在已经加入域的计算机上,以管理员的帐号登录,并打开这个LockoutStatus 工具,如下图:
单击file-select Target
在弹出的窗口中,输入帐号,以及当前的域名,然后单击OK,即自动查询所有的DC服务器(这个小工具就方便在这里,它会自动查询所有的DC 服务器的日志)
正在查询
查询结果,可以看到这个用户的User State 状态为Not Locked ,即没被锁定,以及最后输错密码的时间。当然还有输错的密码次数等信息。
还可以利用这个工具直接解锁用户和重置密码。真的很方便。
查询某个时间点后被锁定的用户
注:以下例子为查询2014年03月12日下午4点后被锁定的用户
打开ADUC管理工具,右击保存查询,然后新建一个查询,如下图:
然后在新建查询的窗口中输入该查询的名称,如:查询某个时间点后被锁定的用户,以及定义要查询的位置(定位到某个OU或域)
然后单击“定义查询”
然定义查询的窗口中,查询类型选择“定义搜索”
然后单击高级
在高级的框中输入以下内容,以查询2014年03月12日下午4点后被锁定的用户为例:
(objectclass=user)(lockouttime>=130390848000000000)
其中命令中的130390848000000000 数字需要进行转换才能得到
时间的转换请到以下网站进行自动转换:
http://www.silisoftware.com/tools/date.php
如下图:
20140312040000 为标准时间(注:比中国时间慢12小时,所以就转换03月12日凌晨4点,转换后就是下午4点),精准到时分秒,转换成功后,复制FILETIME 的值出来,替换命令中的值即可
确认转换的值是否正确:
打开CMD 命令行,输入w32tm.exe /ntte 130390848000000000
如下图,就是下午4点的格式了:
回到AD 查询这里,再次确认查询语句,然后单击OK
再单击OK
右击刚新建的查询,然后单击刷新
立刻就可以看到这个时间点之被锁定的用户了,一共有32个这样的帐号