事情的起因是这样的:
公司需要将现有Windows Server 2003域环境切换到Windows Server 2008域环境,遂需要进行域升级,具体就是将Windows Server 2008逐步加入现有环境,替代现有Windows Server 2003 域控制器提供服务。
正当我满心欢喜的将Windows Server 2008提升为域控制器,并夺取5FSMO成为GC后,问题来了。
环境拓扑:
clip_p_w_picpath002
 
问题:
Windows Server 2008域控制器安装好正式上线,事件查看器里就不停地报如下错误:
处理组策略失败。Windows 无法对域控制器上的 Active Directory 服务进行身份验证。(LDAP 绑定函数调用失败)。有关错误代码及其描述,请查看“详细信息”选项卡。
看到这个错误,我被雷住了:不会是Windows Server 2008加入的新特性导致的与Windows Server 2003不兼容吧?
在查看提示中的“详细信息”选项卡,如下:
- System
  - Provider
   [ Name]  Microsoft-Windows-GroupPolicy
   [ Guid]  {aea1b4fa-97d1-45f2-a64c-4d69fffd92c9}
   EventID 1006
   Version 0
   Level 2
   Task 0
   Opcode 1
   Keywords 0x8000000000000000
  - TimeCreated
   [ SystemTime]  2009-06-02T05:52:00.756Z
   EventRecordID 1294
  - Correlation
   [ ActivityID]  {61BEE069-2BC8-4CB5-87B5-FE33D9A1495D}
  - Execution
   [ ProcessID]  272
   [ ThreadID]  3152
   Channel System  
   Computer XXX
  - Security
   [ UserID]  S-1-5-18
- EventData
  SupportInfo1 1
  SupportInfo2 4934
  ProcessingMode 0
  ProcessingTimeInMilliseconds 6022
  ErrorCode 81
  ErrorDescription 服务器不在工作
  DCName 
 
看了详细信息,似乎有了些眉目,“ErrorDescription 服务器不在工作”,猜想也许是因为DNS解析问题?
切换到目录服务中,发现了如下警告信息:
在过去的 24 小时内 , 某些客户端尝试了执行以下几种类型的 LDAP 绑定 :
(1) 未请求签名 ( 完整性验证 ) SASL ( 协商式、 KerberosNTLM 或摘要式 ) LDAP 绑定 , 或
(2) 在明文(非 SSL/TLS 加密的)连接上执行的 LDAP 简单绑定
当前未将此目录服务器配置为拒绝这样的绑定。通过将此目录服务器配置为拒绝这样的绑定,可显著增强该服务器 的安全性。有关如何对服务器进行此配置更改的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=87923。 
过去 24 小时内收到的关于这些绑定数量的摘要信息如下。
您可以启用其他日志记录以在每次客户端进行这样的绑定时记录一个事件,其中包括关于哪个客户端进行该绑定的 信息。要执行此操作,请将 LDAP 界面事件 事件日志记录类别的设置提升至级别 2 或更高。 
没有 SSL/TLS 而执行的简单绑定的数量: 1
未签名而执行的协商式/Kerberos/NTLM/摘要式绑定的数量: 0
 
看上去还是跟LDAP的验证问题关系,没什么思路,只能请教伟大的搜索引擎了。
PS :通过多次排错搜索问题的经验来看,微软官方的帮助和支持中心准确率相对较高,建议在排除微软产品错误时使用。
通过查找关键字,搜到一篇类似错误的文章:
http://support.microsoft.com/kb/939820/zh-cn#mtDisclaimer
虽然有一模一样的错误信息,但看上去跟我这个问题不太搭调,无奈又找不到其他办法,做好系统备份,将域内的Windows Server 2003装上此KB,重启DCs后,和我想的一样,错误提示并没有停止。
 
看来还是跟LDAP验证有关系,换了关键字后,找到Windows 2008KB一篇:
http://support.microsoft.com/kb/957072/zh-cn#mtDisclaimer
这个比较符合我的思路,不过适用于非Windows LDAP客户端的验证问题,还是有点小担心,做好备份,装好KB,重启,额,错误依然在闪。
 
峰回路转:
在继续搜索无果后,无奈我使出了杀手锏,给专家(就是岳老师)打电话,哈哈,要不说姜是老的辣呢,岳老师一语道破天机,说老胡写了两篇关于Windows 2008组策略排错的文章。立刻翻看老胡博客,发现此文:http://bisheng.blog.51cto.com/409831/130492 描述与我的环境极为相似,大受启发,特别是此句:“我觉得我们在学习和了解WinSrv08的过程中,不能带着对以前产品的惯性思维来看待它,而应该把我们脑子里的那桶水全部倒掉,重新审视这个全新的产品。因为它跟以前完全不一样了。”相当经典。
继而直奔主题页面:http://support.microsoft.com/kb/943729/zh-cn  发现其实是Windows Server 2008添加了新的组策略首选项,而Windows 2008以下的操作系统默认是没有这些首选项的,所以需要在域内相关系统中安装补丁,以支持这些新的首选项。
在火速打完补丁,重启之后,本以为万事大吉,没想到万恶的错误提示又出现了,我这个郁闷,反复思考着,经董君同学指点Windows Server 2008有些服务默认是不启动的,顺藤摸瓜,在系统服务里折腾半天,依然无果。
 
解决方案:
就在接近晕菜的时候,我又重新回味了老胡的话,偶然想起网络连接里IPV6让我禁用了,因不对此报有希望,也就试试,没想到居然启用IPV6之后,错误提示居然消失了,我被彻底雷倒。
 
没想到,最后居然是如此不搭调的选项决定了如此跑偏的错误,大喊一声:万恶的组策略
PS :同样万恶的还有微软的RPC服务器不可用,囧rz