今天有个朋友跟我聊天时提到他们公司的域用户经常会遇到被锁定的状态,而且4小时后会自动解锁,想查看AD里面是否能够统计和显示域用户登录失败次数和时间等信息。所以搭建了个小测试来解决这个问题。

声明:在启用上次交互式登录之前务必提前做好测试,否则会造成用户端无法登陆的情况,更多内容和注意事项可以参考Technet文章:”Active Directory 域服务:上次交互式登录”
https://technet.microsoft.com/zh-cn/library/dd446680%28v=WS.10%29.aspx


在配置上次交互式登录时,请注意以下事项:
a. 要使上次交互式登录正确运行,必须将域功能级别设置为 Windows Server 2008。否则,用户将无法登录到其计算机且会收到以下消息:
“此计算机上的安全策略未设置为显示有关上次交互式登录的信息。Windows 无法检索此信息。请与您的网络管理员联系,以获得帮助。”
b. 如果您在 Windows Server 2008 和 Windows Vista 加入域的计算机上启用了上次交互式登录,且在域控制器位于其作用域之内的 GPO 中未启用此功能,用户将无法登录到系统。
c. 只有 Windows Server 2008 和 Windows Vista 计算机才向用户显示上次交互式登录信息。其他所有操作系统均忽略此功能。
d. 上次交互式登录不报告登录尝试来自哪个计算机,因为上次交互式登录信息存储在用户帐户的属性中。若要确定登录尝试来自何处,您必须查看域控制器的安全日志。 


1. 实验环境

本次实验使用一台Windows Server 2012 R2(配置Active Directory域服务)和一台加域的Windows 7客户端,其中:
AD林功能级别:Windows Server 2012 R2
AD域功能级别:Windows Server 2012 R2


2. 账户策略--账号锁定策略

  • 说到4小时后会自动解锁,这就让我想到账户策略中的账号锁定策略,在DC中运行gpmc.msc打开组策略管理器(当然也可以通过服务器管理器打开)

项目案例分享二:密码策略与上次交互式登录_第1张图片


  • 展开到”Default Domain Policy”, 右键点击”编辑”

项目案例分享二:密码策略与上次交互式登录_第2张图片


注:此处可能有人问能不能将不同部门的计算机对象放到特定的OU中,再对此OU做密码策略?这里有2点一定要注意的是:
a. 如果针对OU配置密码策略,最终生效的不是当前OU的域账号,而是OU中的计算机对象的本地用户策略;

b. 如果要通过组策略配置域用户账号的密码策略,只能在域级别上配置密码策略(或是通过颗粒化密码策略进行配置)


  • 定位到--计算机配置 | 策略 | Windows 设置 | 安全设置 | 账户锁定策略 可以看到有“账户锁定时间”、“账户锁定阈值”、“重置账户锁定计数器”3个选项,可以根据具体情况进行配置。

项目案例分享二:密码策略与上次交互式登录_第3张图片


a. 帐户锁定时间
此安全设置确定锁定帐户在自动解锁之前保持锁定的分钟数。可用范围从 0 到 99,999 分钟。如果将帐户锁定时间设置为 0,帐户将一直被锁定直到管理员明确解除对它的锁定。
b. 帐户锁定阈值
此安全设置确定导致用户帐户被锁定的登录尝试失败的次数。在管理员重置锁定帐户或帐户锁定时间期满之前,无法使用该锁定帐户。可以将登录尝试失败次数设置为介于 0 和 999 之间的值。如果将值设置为 0,则永远不会锁定帐户。
c. 重置帐户锁定计数器
此安全设置确定在某次登录尝试失败之后将登录尝试失败计数器重置为 0 次错误登录尝试之前需要的时间。可用范围是 1 到 99,999 分钟。


  • 为了让组策略立即生效,打开Windows 7客户端命令行工具,运行“gpupdate /force”立即刷新组策略

项目案例分享二:密码策略与上次交互式登录_第4张图片


  • 注销后重新登陆输错密码超过3次后再次登陆,提示“引用的账户当前已锁定,且可能无法登陆”

项目案例分享二:密码策略与上次交互式登录_第5张图片


  • 此时用户可以等待锁定时间(以上设置的5分钟)到了后自动解锁后即可登录,管理员也可以通过ADUC马上解锁此账户,打开Active Directory用户和计算机,找到该账户(Cici)右键属性,勾选“解锁账户”—点击“确定”即可,此时账户Cici即可登陆了。

项目案例分享二:密码策略与上次交互式登录_第6张图片


3. 上次交互式登录

        以上的内容已经可以做到限制用户输入密码错误次数和解锁时间,但是如果要统计登陆信息还得用到“上次交互式登录”

a. 上次交互式登录的功能上次交互式登录可以帮助您记录用户登录信息的以下四个重要组成部分:
 在加入域的服务器或工作站上失败的登录尝试总数
 成功登录到服务器或工作站之后失败的登录尝试总数
 在服务器或工作站上上次登录尝试失败的时间
 在服务器或工作站上上次登录尝试成功的时间

b. 上次交互式登录信息的存储位置: 当域在 Windows Server 2008 功能级别运行时,上次交互式登录信息存储在添加到架构的用户对象的以下四个属性中:
 msDS-FailedInteractiveLogonCount — 自启用上次交互式登录功能以来在服务器或工作站上失败的登录尝试的数量
 msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon — 上次 Ctrl-Alt-Del 登录成功之前失败的交互式登录的总数
 msDS-LastFailedInteractiveLogonTime — 上次失败的登录尝试的时间戳
 msDS-LastSuccessfulInteractiveLogonTime —在服务器或工作站上上次登录尝试成功的时间戳


  • 打开组策略管理配置“上次交互式登录”,定位到“计算机配置 | 策略 | 管理模板 | Windows 组件 | Windows 登录选项 | ”默认4个选项都是未配置的状态

项目案例分享二:密码策略与上次交互式登录_第7张图片


  • 双击“在用户登录时显示有关以前登录的信息”---选择“已启用”----点击“确定”

项目案例分享二:密码策略与上次交互式登录_第8张图片


  • 启用后如下图:

项目案例分享二:密码策略与上次交互式登录_第9张图片


  • 同样在Windows 7命令行中运行gpupdate /force立即刷新组策略,注销后重新登陆,输入账户密码,如下图:

项目案例分享二:密码策略与上次交互式登录_第10张图片


  • 此时将会显示相关的登录信息,点击“确定”后即可进入
     项目案例分享二:密码策略与上次交互式登录_第11张图片


  • 在DC上打开ADSI编辑器,右键”ADSI编辑器“---选择”连接到“

项目案例分享二:密码策略与上次交互式登录_第12张图片


  • 选择“默认命名上下文“---点击”确定“

项目案例分享二:密码策略与上次交互式登录_第13张图片


  • 找到该用户(Cici)右键选择“属性“

项目案例分享二:密码策略与上次交互式登录_第14张图片


  • 可在此属性编辑器中查看到相应的属性和值,具体属性的解释见以上提到的存储位置

项目案例分享二:密码策略与上次交互式登录_第15张图片


通过上图红色框中的数据可以分析出以下结论:
设: X=“msDS-FailedInteractiveLogonCount”的值
 Y=“msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon”的值
若X=Y, 则说明最近一次登录是成功的;
若X-Y=N,则说明最近已经有连续N次登陆失败了;若N刚好等于账户锁定阈值,而且账户锁定时间未到的话,此用户将无法登陆,处于锁定状态;


        以上是针对密码策略和上次登录交互式的分析和具体用法的分享,在Windows Server 2012 中对颗粒化密码策略有了很大的改进,有兴趣的朋友可以了解了解,非常感谢大家的关注和支持。