将 Windows NT 4.0 主域控制器升级到 Windows 2000 后,新域控制器的计算机名称的 DNS 后缀可能与域名不匹配

文章翻译 文章翻译
文章编号: 257623 - 查看本文应用于的产品
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

将 Microsoft Windows NT 4.0 主域控制器或成员服务器升级到 Microsoft Window 2000 后,新域控制器的计算机名称的域名系统 (DNS) 后缀可能与其域名不匹配。出现此问题时,您还可能遇到其他各种症状。

通常,此问题在满足以下条件时发生:
  • 在 Microsoft Windows NT 4.0 域控制器上安装了 Windows 2000 的原始发行版。
  • 在域控制器的“网络”控制面板项目中定义了 DNS 后缀。
要解决此问题,请将域控制器升级到包含最新 Service Pack 的 Windows 2000,或升级到 Windows Server 2003。或者,也可以使用本文中讲述的其他方法中的一种。

症状

将 Windows NT 4.0 主域控制器或成员服务器升级到 Window 2000 后,新域控制器的计算机名称的 DNS 后缀可能与其域名不匹配。

此外,您还可能遇到以下一种或多种症状:
  • Active Directory 复制不成功。
  • 文件复制服务 (FRS) 停止响应。
  • 在尝试将运行 Microsoft Windows XP Professional 的计算机加入域时,收到类似下面的错误消息:
    不能联系域 DomainName.local 的域控制器。
    如果单击消息窗口中的“详细信息”,将看到类似下面的文本:
    为获得用来定位域 DomainName.local 的域控制器的服务定位 (SRV) 资源记录的 DNS 查询已顺利完成。此查询是为 _ldap._tcp.dc._msdcs.DomainName.LOCAL 查找 SRV 记录
  • 您无法登录到域。
  • 尝试在另一台成员服务器上安装 Active Directory 时,收到类似下列消息之一的错误消息:

    消息 1
    指定的域不存在,或无法联系。
    消息 2
    服务主要名称(SPN)无法建造,因为提供的主机名格式不适合
    消息 3
    “目录服务”为服务器 DC01 上的 CN=NTDS Settings,CN=CLIENT01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=Contoso,DC=com 创建服务器对象失败。请确保提供的网络凭据有足够的访问权添加副本。
    消息 4
    操作失败,因为:未能为域 contoso.com 找到合适的域控制器。指定的域不存在,或无法联系。
  • 尝试使用 Active Directory MMC 管理单元时收到下列错误:

    消息 1
    找不到命名信息,因为:登录没有成功
    消息 2
    找不到命名信息,因为对象名语法不正确
  • 将在客户端、成员服务器或域控制器的系统日志中记录下列事件:
    • 事件 ID:5788
      来源:Netlogon
      描述:尝试在 Active Directory 中更新计算机对象的服务主体名称 (SPN) 失败。发生如下错误:指定给目录服务的属性语法无效。

    • 事件 ID:5789
      来源:Netlogon
      尝试在 Active Directory 中更新计算机对象的 DNS 主机名失败。发生如下错误:参数不正确。

  • 将在客户端、成员服务器或域控制器的应用程序日志中记录下列事件:
    • 事件 ID:1000
      来源:Userenv
      描述:Windows 无法建立与 CONTOSO.COM 的连接,返回值 (1787)。

    • 事件 ID:1000
      来源: Userenv
      描述:Windows 不能查询组策略对象列表。描述此问题的原因的消息先前被策略引擎记录。

    • 事件 ID:1000
      来源:Userenv
      描述:Windows 不能确定用户或计算机名称。返回值 (1326)。

    • 事件 ID:5721
      来源:Net Logon
      描述:为域 contoso.com 设置的 Windows NT 或 Windows 2000 域控制器会话失败,原因是域控制器没有计算机 ComputerName 的帐户。

  • 在 Microsoft Exchange Server 中安装收件人更新服务 (RUS) 时收到以下错误消息:
    只能有一个收件人更新服务实例可以更新域控制器,而且 contoso.com 上的所有域控制器都已正在进行更新。ID 号:c1039c6c。
  • 在 Microsoft Exchange 2000 中,Microsoft Exchange 系统助理服务没有启动,将在应用程序日志中记录以下事件:

    事件 ID:9157
    来源:MSExchangeSA
    描述:Microsoft Exchange 系统助理没有足够的权限来读取 Active Directory 中的 Exchange 配置对象。系统助理将在大约一分钟后重试。

  • 尝试使用 SetSpn 命令行工具时收到以下错误消息:
    Requested name "contoso\DC01$" not found in directory."
  • 预启动执行环境 (PXE) 客户端不进行身份验证,即使您使用有效的域管理员凭据。发生此问题时,客户端安装向导中的“登录错误”页面显示以下消息:
    00004e28.OSC error - The System cannot validate your User Name Password or Domain

    The system cannot validate your user name, password, or domain name.Verify that your user name and domain name are correct, and then retype your password.Passwords must be typed using the correct case.Be sure the CAPS LOCK key is not pressed.
  • 安装移动信息服务器 (MIS) 服务器时,在输入消息处理程序密码后收到以下错误消息:

    在移动信息服务器完全安装之前向导被中断。尚未修改您的系统。

    另外,在应用程序日志中记录以下事件:

    事件 ID:10005
    来源:MSIInstaller
    描述:产品:移动信息服务器 – 错误 29910 验证用户失败。错误号:0x0 错误消息:操作成功完成。

  • 运行 Active Directory 迁移工具 (ADMT) 时,将在 Migration.log 文件中记录以下错误:
    2002-01-23 15:00:34 ERR2:7422 移动对象 CN=Jsmith, hr=8009030d 失败。没有识别提供给安全软件包的凭证
  • 域控制器诊断工具 (Dcdiag.exe) 报告以下错误:
    • Starting test:NetLogons
      * Network Logons Privileges Check
      [DC01] An net use or LsaPolicy operation failed with error 1231, The network location cannot be reached
    • Starting test:MachineAccount Could not open pipe with
      [DC01]:failed with 1231:The network location cannot be reached.For information about network troubleshooting, see Windows Help.Could not get NetBIOSDomainName Failed can not test for HOST SPN
  • 使用小企业个人控制台或“Active Directory 用户和计算机”创建用户,然后为用户启用邮箱时,出现以下问题:
    • 不生成电子邮件属性。
    • 不生成 SMTP 地址。
    • 全局地址列表 (GAL) 中不显示用户。
    • 将在目录服务事件日志中记录以下事件:

      事件 ID:1655
      来源:NTDS
      描述:尝试与全局编录 \\DC01 通信失败,状态如下:服务主要名称(SPN)无法建造,因为提供的主机名格式不适合。进行中的操作可能无法继续。目录服务将使用定位器服务为下一次请求全局编录的操作尝试查找可用全局编录。

  • 安装 Windows Services for Unix 2.0 时,收到以下错误消息:
    error 26065 NIS Schema Upgrade Failed
注意:在成员服务器上安装 Active Directory 后,不能在“计算机管理”属性的“网络标识”选项卡上重命名计算机。

原因

满足以下条件时,可能发生这些问题:
  • 在 Microsoft Windows NT 4.0 域控制器上安装了 Microsoft Windows 2000 的原始发行版。
  • 在域控制器的“网络”控制面板项目中定义了 DNS 后缀。
安装 Windows 2000 时,Windows 2000 安装程序会自动取消选中“在域成员身份变化时,更改主 DNS 后缀”复选框。安装程序还将主 DNS 后缀设置为“网络”控制面板项目中列出的第一个后缀。在成员服务器上安装了 Active Directory 后,新域控制器会尝试解析与其主 DNS 后缀匹配的 DNS 区域中的 DNS 记录。

如果满足下列一个或多个条件,则不会出现此问题:
  • 升级之前 Windows NT 4.0 域控制器没有定义 DNS 后缀。
  • 将 Windows NT 4.0 域控制器升级到包含 Service Pack 1 (SP1) 或更新 Service Pack 的 Windows 2000。
  • 将 Windows NT 4.0 域控制器升级到 Microsoft Windows Server 2003。
如果 DNS 配置正确,那么 Windows 2000 和 Windows Server 2003 均支持将断续的名称空间作为有效配置。不过,该配置通常不是刻意设置的。

解决方案

要解决此问题,请将域控制器升级到包含最新 Service Pack 的 Windows 2000 或升级到 Windows Server 2003。 有关如何获取最新 Windows 2000 Service Pack 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
260910 如何获取最新的 Windows 2000 Service Pack
或者,使用下面的方法之一:

方法 1

  1. 将计算机升级到 Windows 2000 后,在 Active Directory 安装向导启动时退出该向导。
  2. 单击以选中“在域成员身份变化时,更改主 DNS 后缀”复选框。
  3. 重新启动 Active Directory 安装向导。

方法 2

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

验证是否存在断续的名称空间,然后修复该名称空间。为此,请按照下列步骤操作:
  1. 右键单击“我的电脑”,然后单击“属性”。
  2. 在“属性”对话框中,单击“计算机名”选项卡。

    如果计算机名的 DNS 后缀与域名不匹配,则存在断续的名称空间。下面三个示例说明了断续的名称空间:
    • 完整计算机名:dc01.fabrikam.com
      域:contoso.com
    • 完整计算机名:dc01.corp.contoso.com
      域:contoso.com
    • 完整计算机名:dc01
      域:contoso.com
    或者,可以使用 Netdiag.exe 命令行工具验证是否存在断续的名称空间。如果在 Netdiag 中,DNS 主机名中的 DNS 后缀与 DNS 域名不匹配,则存在断续的名称空间。下面三个示例说明了断续的名称空间:
    • DNS 主机名:dc01.fabrikam.com
      DNS 域名:contoso.com
    • DNS 主机名:dc01.corp.contoso.com
      DNS 域名:contoso.com
    • DNS 主机名:dc01
      DNS 域名:contoso.com
如果 DNS 名称具有单标签,且计算机运行的是包含 Service Pack 4 (SP4) 的 Windows 2000、Windows XP 或 Windows Server 2003,请使用 AllowSingleLabelDnsDomain 注册表项解决该问题。例如,如果域名是“contoso”,而不是“contoso.com”,则 DNS 名称具有单标签。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
300684 关于如何为使用单标签 DNS 名称的域配置 Windows 的信息
如果存在断续的名称空间,请执行下列步骤以修复它。
  1. 使用具有域管理员凭据的帐户登录到域控制器。
  2. 将下面的代码粘贴到记事本中。然后,将文件另存为 Fixdomainsuffix.vbs。
    Const ADS_PROPERTY_CLEAR = 1
    
    Answer = MsgBox("This script will change the Domain Suffix of this computer"  & vbCrLf &_
                    "to equal the AD Domain name that this DC is a member of."    & vbCrLf &_
                    "This script can only be run on a Windows 2000 DC by an"      & vbCrLf &_
                    "Administrator of the Domain.  You must reboot this computer" & vbCrLf &_
                    "after the script completes."                                 & vbCrLf &_
                                                                                    vbCrLf &_
                    "Choose ""OK"" to continue ""Cancel"" to stop processing the script", vbOKCancel, _
                    "Change DNS Suffix to match AD Domain")
    
    If Answer = vbCancel Then WScript.Quit
    
    Set Cont = GetObject("LDAP://localhost")
    strTemp = Cont.distinguishedName
    strTemp = Mid(strTemp, 4, Len(strTemp))
    
    Set regEx = New RegExp
    regEx.Global = True
    regEx.IgnoreCase = True
    regEx.Pattern = ",DC="
    strTemp = regEx.Replace(strTemp, ".")
    
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain", strTemp, "REG_SZ"
    WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NV Domain", strTemp, "REG_SZ"
    WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SyncDomainWithMembership", 1, "REG_DWORD"
    
    Set Cont = GetObject("LDAP://localhost/RootDSE")
    Set Cont = GetObject("LDAP://"&Cont.serverName)
    Set Cont = GetObject("LDAP://"&Cont.serverReference)
    Cont.PutEx ADS_PROPERTY_CLEAR, "dNSHostName", vbNull
    Cont.PutEx ADS_PROPERTY_CLEAR, "servicePrincipalName", vbNull
    Cont.SetInfo
    
    Answer = MsgBox("The computer needs to be rebooted for the changes to take effect.  Would you like the DC to be rebooted now?", _
                    vbYesNo, "Reboot now?")
    If Answer = vbYes Then
       Set OpSysSet = GetObject("winmgmts:{(Shutdown)}").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
          For Each OpSys In OpSysSet
    	 OpSys.Reboot()
          Next
    End If
    
    注意:此脚本会自动修改以下注册表子项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
    下表列出了该子项中的项。
    收起该表格展开该表格
    名称类型
    HostnameREG_SZcomputer name
    NV HostnameREG_SZcomputer name
    NV DomainREG_SZdomain name
  3. 双击步骤 2 中保存的文件。
  4. 重新启动域控制器。

更多信息

要使用断续的名称空间,供域控制器、成员服务器和客户端使用的 DNS 服务器必须能够解析下列 DNS 区域中的记录:
  • 与计算机帐户所在的完全限定域相同的 DNS 区域
  • 在林中定义的主 DNS 后缀区域

属性

文章编号: 257623 - 最后修改: 2007年12月3日 - 修订: 8.2
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows Services for UNIX 2.0 Standard Edition
  • Microsoft Exchange Server 4.0 标准版
  • Microsoft Mobile Information Server 2001 企业版
  • Microsoft Windows Small Business Server 2003 Standard Edition
关键字:?
kberrmsg kbtshoot kbdns kbactivedirectory kbnetwork kbprb kbdirservices KB257623
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com