AD认证失败十有八九是系统时间漂移所致,Kerberos协议要求客户端与域控制器时间偏差不超过5分钟,超差即拒绝认证;需用w32tm /query /status检查偏差和时间源,确保域控同步可靠外部NTP、客户端自动从域控同步,并关闭虚拟机时间同步功能、开放UDP 123端口、确认Windows Time等关键服务运行正常。
ad验证频繁失败,十有八九是系统时间漂移惹的祸。kerberos协议对时间极其敏感——偏差超过5分钟,认证直接拒绝。这不是小毛病,而是整个域信任链的断点。
确认时间偏差是否超标
先别急着改配置,用命令看真实偏差:
- 管理员打开CMD或PowerShell,运行:w32tm /query /status,重点关注“源”和“偏差”两行
- 若“源”显示Local CMOS Clock,说明没连上任何NTP服务器,纯靠主板电池硬撑
- 若“偏差”大于300秒(5分钟),Kerberos已处于失效边缘
- 再运行:w32tm /stripchart /computer:yourdomain.com /dataonly /samples:5,看能否稳定获取域控时间
强制同步并锁定可靠时间源
不能依赖默认的time.windows.com,尤其在企业内网。正确做法是让所有设备统一指向域控,而域控本身必须有高可信外部源:
- 在域控制器上,以管理员身份运行CMD,逐条执行:
net stop w32time
w32tm /config /manualpeerlist:"ntp.aliyun.com pool.ntp.org" /syncfromflags:manual /reliable:yes /update
net start w32time
w32tm /resync /force - 验证是否生效:w32tm /query /source 应返回你指定的NTP服务器名
- 客户端无需单独配外网源——加域后默认从域控同步,只要域控时间准,全网就准
排查虚拟化与硬件干扰
很多时间不准的服务器跑在VMware或Hyper-V上,却被宿主机悄悄“带偏”:
- 检查虚拟机设置:关闭“客户机与主机时间同步”选项(VMware叫Time Synchronization,Hyper-V叫Time synchronization service)
- 检查物理服务器CMOS电池:若每次重启后时间都严重倒退(如回到2000年),基本可判定电池失效,需更换
- 避免手动调时:Windows在偏差>15分钟时会拒绝NTP同步,强行拖动时间条反而让问题更顽固
防火墙与服务状态兜底检查
时间同步走的是UDP 123端口,常被忽略:
- 确认域控出站UDP 123未被防火墙拦截:netsh advfirewall firewall add rule name="NTP Outbound" dir=out action=allow protocol=UDP localport=123
- 检查关键服务是否运行:services.msc中确认Windows Time、Netlogon、KDC三项状态均为“正在运行”
- 组策略中禁用“关闭Windows时间服务”类策略,避免被IT策略意外覆盖


















