问题背景:

    某企业用户连续反映客户端在登陆时与AD验证时异常缓慢,主要有以下现像:

    2015年12月份反映,Windows XP/2003在登陆域时非常慢,需要耗费1-3分钟的时间,组策略加载不成功    


  由于该公司本地环境中没有部署DC,需要通过其他地区的服务器(用户与服务器之间通过专线连接带宽为40M)进行验证请求。该网络环境满足AD与客户之间的网络需求,理论上不会对客户端通多DC验证产生任何影响,为此,我们对问题进行详细分析。

    

==============================================

  1. Windows XP客户端在登陆域是,输入用户名和密码进行登陆后,进入到桌面花费的时间较长,大约需要1-3分钟左右的时间。长时间停留在“正在应用计算机设置”和“正在应用个人设置”窗口。

  2. Windows XP在注销后重新登陆问题依旧

  3. Windows XP在断开网络的情况下可以很快进入到桌面

  4. Windows 7客户端一切正常



问题分析过程

===================================================

在存在问题的客户端App enevt log 存在1054 错误ID

案例分析--AD客户端登录验证缓慢问题_第1张图片

从问题现象来看,这是一个比较典型的加载组策略异常的问题。在问题客户端的注册表中创建以下键值,开启组策略Debug Log:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Nt\CurrentVersion\WinLogon

名称:UserEnvDebugLevel

类型:DWORD

值:10002(十六进制)

重启计算机并等到登陆到桌面后,在C:\Windwos\Debug目录中查看userenv.log,可以看到以下信息:

案例分析--AD客户端登录验证缓慢问题_第2张图片


上图中的Log是Windows XP系统判断网络质量的行为。用户在通过域登陆时,在进入到桌面之前需要去加载组策略,但是在加载组策略之前,系统首先要判断客户端与域控之间的网络质量。而在Windows XP/2003中,客户端判断与DC之间的网络是一个fast link还是slow link是通过ping来决定的,具体行为是:客户端首先会对目标域控发送一个0字节的ping,之后再发送一个2048字节的ping,共重复六次。在上图log中可以看到整个ping的过程持续了半分多钟,这也是为什么XP的客户端登陆慢的主要原因。另外在Windows Vista以后版本的操作系统中,已经不再使用ping来判断网络质量,所以Windows 7登陆速度就很正常。

上图的log中也可以看到,客户端在”Second send”一直是“fail”状态,“sendcond send”即发送一个2048字节的MTU,“fail”即表示ping超时。我们直接在客户端cmd中执行一个2048字节的MTU,可以看到确实无法ping通:


案例分析--AD客户端登录验证缓慢问题_第3张图片

而普通的ping是够能正常通信的:

案例分析--AD客户端登录验证缓慢问题_第4张图片


经过确认该网络对MTU值是存在限制的,MTU值为2048的网络包不能正常通信是导致这个问题的主要原因。讲网络MTU值调整为大于2048改问题顺利解决。


下面是关于windows如何判定一个网络是否为慢速链接的参考:

http://blogs.technet.com/b/askds/archive/2009/10/23/group-policy-slow-link-detection-using-windows-vista-and-later.aspx