分析问题:
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
关键词,没有什么有用信息
4
:直接来到
Symantec
官方论坛
[url]https://forums.symantec.com/syment/[/url]
搜索
failed to join domain
终于找到有用的信息
5
:查看其中的两个帖子
[url]https://forums.symantec.com/syment/board/message?board.id=109&message.id=19146&query.id=6767433#M19146[/url]
[url]https://forums.symantec.com/syment/board/message?board.id=109&message.id=15624&query.id=6767433#M15624[/url]
原来有人遇到跟我一样的问题,按帖子说明的,大概判断问题出在客户端使用
NETLOGON
服务登录
2008
域时,默认情况下不允许使用较旧的加密算法。详情参见
[url]http://support.microsoft.com/kb/942564[/url]
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
:适当记录解决问题的过程,以作备查、共享