本文转自 abner110 51CTO博客,原文链接:http://blog.51cto.com/abner/147384,如需转载请自行联系原作者本文解决的是客户端加入2008域失败的问题。最后解决的方法很简单,主要是想写一下分析解决问题的流程。
问题描述:
客户端是WinXP SP3。域刚刚由2003 upgrade到了Windows2008。一台GC、一台DC都是2008
Ghost服务器是Symantec Ghost Solution Suite 2.02。当使用到加入域的Configuration时会出现一个WARNING,提示为Failed to join domain :系统检测到危害安全的尝试。请与您能与对您进行身份验证的服务器联系。结果加入域失败
分析问题:
1:在域还没升级到2008之前,用Ghost加入域没有问题,而且升级完成后的Ghost服务器没有做任何改动,大概可以判断问题不是处在Ghost这边
2:加入域的前几个过程都是成功的,包括常出问题的Create machine account过程。说明Ghost服务使用的账户在域中的权限没有问题
3:再回到报错信息的本身,提到了“身份验证”在加入域的过程中涉及到了身份验证,无非就是客户端域AD服务器之间的身份验证,本身客户端没有变化,判断问题处在Windows2008域服务器本身,而且和身份验证的服务有关。
解决问题的过程
1:使用Ghost中的Console service account账户GHOSTVMGHOST01手动加如域,成功。排除了权限的问题
2:将Windows2008域控的防火墙关闭,问题依旧出现,看来不是防火墙的问题。
3:Google搜索failed to join domain关键词,没有什么有用信息
搜索failed to join domain终于找到有用的信息
5:查看其中的两个帖子
原来有人遇到跟我一样的问题,按帖子说明的,大概判断问题出在客户端使用NETLOGON服务登录2008域时,默认情况下不允许使用较旧的加密算法。详情参见
6:查看客户端加域时留下的错误日志信息,位置在c:\windows\Debug\NetSetup.LOG
这是用Ghost加域的日志,加域失败
02/17 09:07:09 -----------------------------------------------------------------
02/17 09:07:09 NetpDoDomainJoin
02/17 09:07:09 NetpMachineValidToJoin: 'ZX40553'
02/17 09:07:09 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:07:09 NetpMachineValidToJoin: status: 0x0
02/17 09:07:09 NetpJoinDomain
02/17 09:07:09 Machine: ZX40553
02/17 09:07:09 Domain: elab.org\VmAD04.elab.org
02/17 09:07:09 MachineAccountOU: (NULL)
02/17 09:07:09 Account: (NULL)
02/17 09:07:09 Options: 0xc1
02/17 09:07:09 OS Version: 5.1
02/17 09:07:09 Build number: 2600
02/17 09:07:09 ServicePack: Service Pack 3
02/17 09:07:09 NetpValidateName: checking to see if 'elab.org' is valid as type 3 name
02/17 09:07:10 NetpCheckDomainNameIsValid [ Exists ] for 'elab.org' returned 0x0
02/17 09:07:10 NetpValidateName: name 'elab.org' is valid for type 3
02/17 09:07:10 NetUseAdd to \\VmAD04.elab.org\IPC$ returned 1326
02/17 09:07:10 Trying add to \\VmAD04.elab.org\IPC$ using NULL Session
02/17 09:07:10 NetpJoinDomain: status of connecting to dc '\\VmAD04.elab.org': 0x0
02/17 09:07:10 NetpJoinDomain: Passed DC '\\VmAD04.elab.org' verified as DNS name '\\VmAD04.elab.org'
02/17 09:07:10 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:07:10 NetpGetDnsHostName: Read NV Hostname: ZX40553
02/17 09:07:10 NetpGetDnsHostName: PrimaryDnsSuffix defaulted to DNS domain name: elab.org
02/17 09:07:10 NetpLsaOpenSecret: status: 0xc0000034
02/17 09:07:10 Failed to validate machine account for ZX40553 against \\VmAD04.elab.org: 0xc0000388
02/17 09:07:10 NetpJoinDomain: w9x: status of validating account: 0x4f1
02/17 09:07:10 NetpJoinDomain: initiaing a rollback due to earlier errors
02/17 09:07:10 NetpLsaOpenSecret: status: 0x0
02/17 09:07:10 NetpJoinDomain: rollback: status of deleting secret: 0x0
02/17 09:07:10 NetpJoinDomain: status of disconnecting from '\\VmAD04.elab.org': 0x0
02/17 09:07:10 NetpDoDomainJoin: status: 0x4f1
这是手动加域的日志,加域成功。使用的账户和Ghost的相同
02/17 09:38:43 -----------------------------------------------------------------
02/17 09:38:43 NetpValidateName: checking to see if 'elab.org' is valid as type 3 name
02/17 09:38:43 NetpCheckDomainNameIsValid [ Exists ] for 'elab.org' returned 0x0
02/17 09:38:43 NetpValidateName: name 'elab.org' is valid for type 3
02/17 09:39:09 -----------------------------------------------------------------
02/17 09:39:09 NetpDoDomainJoin
02/17 09:39:09 NetpMachineValidToJoin: 'ZX40553'
02/17 09:39:09 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:39:09 NetpMachineValidToJoin: status: 0x0
02/17 09:39:09 NetpJoinDomain
02/17 09:39:09 Machine: ZX40553
02/17 09:39:09 Domain: elab.org
02/17 09:39:09 MachineAccountOU: (NULL)
02/17 09:39:09 Account: elab\GHOSTVMGHOST01
02/17 09:39:09 Options: 0x25
02/17 09:39:09 OS Version: 5.1
02/17 09:39:09 Build number: 2600
02/17 09:39:09 ServicePack: Service Pack 3
02/17 09:39:09 NetpValidateName: checking to see if 'elab.org' is valid as type 3 name
02/17 09:39:09 NetpCheckDomainNameIsValid [ Exists ] for 'elab.org' returned 0x0
02/17 09:39:09 NetpValidateName: name 'elab.org' is valid for type 3
02/17 09:39:09 NetpDsGetDcName: trying to find DC in domain 'elab.org', flags: 0x1020
02/17 09:39:09 NetpDsGetDcName: found DC '\\VMAD03.elab.org' in the specified domain
02/17 09:39:09 NetpJoinDomain: status of connecting to dc '\\VMAD03.elab.org': 0x0
02/17 09:39:09 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:39:09 NetpGetDnsHostName: Read NV Hostname: ZX40553
02/17 09:39:09 NetpGetDnsHostName: PrimaryDnsSuffix defaulted to DNS domain name: elab.org
02/17 09:39:09 NetpLsaOpenSecret: status: 0xc0000034
02/17 09:39:09 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:39:09 NetpLsaOpenSecret: status: 0xc0000034
02/17 09:39:09 NetpJoinDomain: status of setting machine password: 0x0
02/17 09:39:10 NetpGetComputerObjectDn: Cracking DNS domain name elab.org/ into Netbios on \\VMAD03.elab.org
02/17 09:39:10 NetpGetComputerObjectDn: Crack results: name = ELAB\
02/17 09:39:10 NetpGetComputerObjectDn: Cracking account name ELAB\ZX40553$ on \\VMAD03.elab.org
02/17 09:39:10 NetpGetComputerObjectDn: Crack results: (Account already exists) DN = CN=ZX40553,CN=Computers,DC=elab,DC=org
02/17 09:39:10 NetpModifyComputerObjectInDs: Initial attribute values:
02/17 09:39:10 DnsHostName = ZX40553.elab.org
02/17 09:39:10 ServicePrincipalName = HOST/ZX40553.elab.org HOST/ZX40553
02/17 09:39:10 NetpModifyComputerObjectInDs: Computer Object already exists in OU:
02/17 09:39:10 DnsHostName =
02/17 09:39:10 ServicePrincipalName =
02/17 09:39:10 NetpModifyComputerObjectInDs: Attribute values to set:
02/17 09:39:10 DnsHostName = ZX40553.elab.org
02/17 09:39:10 ServicePrincipalName = HOST/ZX40553.elab.org HOST/ZX40553
02/17 09:39:10 ldap_unbind status: 0x0
02/17 09:39:10 NetpJoinDomain: status of setting DnsHostName and SPN: 0x0
02/17 09:39:10 NetpGetLsaPrimaryDomain: status: 0x0
02/17 09:39:10 NetpSetLsaPrimaryDomain: for 'ELAB' status: 0x0
02/17 09:39:10 NetpJoinDomain: status of setting LSA pri. domain: 0x0
02/17 09:39:10 NetpJoinDomain: status of managing local groups: 0x0
02/17 09:39:11 NetpJoinDomain: status of setting netlogon cache: 0x0
02/17 09:39:11 NetpJoinDomain: status of setting ComputerNamePhysicalDnsDomain to 'elab.org': 0x0
02/17 09:39:11 NetpUpdateW32timeConfig: 0x0
02/17 09:39:11 NetpJoinDomain: status of disconnecting from '\\VMAD03.elab.org': 0x0
02/17 09:39:11 NetpDoDomainJoin: status: 0x0
对比两个日志发现问题出现在
02/17 09:07:10 NetpLsaOpenSecret: status: 0xc0000034
02/17 09:07:10 Failed to validate machine account for ZX40553 against \\VmAD04.elab.org: 0xc0000388
02/17 09:07:10 NetpJoinDomain: w9x: status of validating account: 0x4f1
分析一下,确定是在NetpLsaOpenSecret时就出现错误,字面的理解就是客户端要与AD建立安全连接失败。
7:继续翻官方的帖子发现,在2008的域控的默认域的组侧略中,有关于NETlogon服务的设置,而且默认是禁止使用旧版本加密协议连接。位置如下
Default Domain Controller Policy-->Computer Configuration-->Policies-->Administrative Templates-->System-->Net Logon
将允许与
windwos NT 4.0
兼容的加密算法策略设置为启用
8
:重新
Ghost
加域,成功
可以看出
GSS2.02
使用了低于
Windows2008
默认级别的加密算法,导致加域过程中,域服务器拒绝接受
ghost
的验证信息,从而加域失败。
总结:
1
:重视报错信息,尽可能收集足够的日志,然后分析
2
:选好关键词,进行高效搜索
3
:各大公司的官方论坛或者在线支持,问题反映是比较全面的。而且最好去查英文官方
4
:适当记录解决问题的过程,以作备查、共享