你目前正处于脱机状态,正在等待 Internet 重新连接

你的浏览器不受支持

你需要更新你的浏览器才能使用该网站。

更新到 Internet Explorer 的最新版本

Windows Server 2008 中运行"Adprep /rodcprep"命令时收到错误消息:"Adprep 无法联系副本分区的 DC = DomainDnsZones,DC = Contoso 特区 = com"

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 949257
症状
当您在 Windows Server 2008 上运行Adprep /rodcprep命令时,您会收到以下错误消息:
Adprep 无法联系副本分区 DC = DomainDnsZones,DC = Contoso,DC = com
Adprep 分区 DC 上的操作失败 = DomainDnsZones,DC = Contoso,DC = com 跳到下一分区。

Adprep 无法联系副本分区 DC = ForestDnsZones,DC = Contoso,DC = com
Adprep 遇到 LDAP 错误。错误代码: 0x0。服务器扩展错误代码: 0x0,服务器错误消息: (空值)。

Adprep 分区 DC 上的操作失败 = ForestDnsZones,DC = Contoso,DC = com 跳到下一分区。
Adprep 完成但有错误。不是所有的分区都将更新。
原因
Adprep /rodcprep命令尝试与基础结构主服务器联系为林中的每个应用程序分区,则会发生此问题。该命令执行此设置所需的只读域控制器 (RODC) 复制的权限。如果满足以下条件之一为真, Adprep /rodcprep命令将失败:
  • 该分区或分区不再在错误消息中引用的存在。
  • 结构主机的引用的分区或分区已强制降级或处于脱机状态。
解决方案
要解决此问题,如果该分区不再存在,使用 Dsmgmt 工具的"删除 nc"参数的孤立分区执行元数据清除。有关详细信息,请访问下面的 Microsoft 网站: 如果指定的分区存在,指定联机分区的基础结构角色的所有者。你可以通过手动修改该对象的fSMORoleOwner属性中的"详细信息"部分所述。
更多信息
下面的脚本示例来修改基础架构对象的指定非域命名上下文 (NDNC) 到处于活动状态,或访问,服务器上的fSMORoleOwner属性。在此示例中的 NDNC 是DomainDnsZones,DC = contoso,DC = com NDNC命名上下文。该脚本使用下面的命令:
cscript fixfsmo.vbs DC = DomainDnsZones,DC = contoso,DC = com
'-------fixfsmo.vbs------------------const ADS_NAME_INITTYPE_GC = 3const ADS_NAME_TYPE_1779 = 1const ADS_NAME_TYPE_CANONICAL = 2set inArgs = WScript.Argumentsif (inArgs.Count = 1) then    ' Assume the command line argument is the NDNC (in DN form) to use.    NdncDN = inArgs(0)Else    Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"End ifif (NdncDN <> "") then    ' Convert the DN form of the NDNC into DNS dotted form.    Set objTranslator = CreateObject("NameTranslate")    objTranslator.Init ADS_NAME_INITTYPE_GC, ""    objTranslator.Set ADS_NAME_TYPE_1779, NdncDN    strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)    strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)         Wscript.Echo "DNS name: " & strDomainDNS    ' Find a domain controller that hosts this NDNC and that is online.    set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")    strDnsHostName = objRootDSE.Get("dnsHostName")    strDsServiceName = objRootDSE.Get("dsServiceName")    Wscript.Echo "Using DC " & strDnsHostName    ' Get the current infrastructure fsmo.    strInfraDN = "CN=Infrastructure," & NdncDN    set objInfra = GetObject("LDAP://" & strInfraDN)    Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner    ' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.    if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then        ' Set the fsmo holder to this domain controller.        objInfra.Put "fSMORoleOwner",  strDsServiceName        objInfra.SetInfo        ' Read the fsmo holder back.        set objInfra = GetObject("LDAP://" & strInfraDN)        Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner    End ifEnd if
若要确定分区的基础主机,请查询问题的命名上下文根目录下基础架构对象上的fSMORoleOwner属性。例如,在查询的fSMORoleOwner属性CN = 基础结构,哥伦比亚特区 = DomainDnsZones,哥伦比亚特区 = contoso,DC = com命名上下文根来确定的结构主机DC = DomainDnsZones,哥伦比亚特区 = contoso,DC = com分区。FSMORoleOwner属性与此类似,查询CN = 基础结构,哥伦比亚特区 = ForestDnsZones,哥伦比亚特区 contoso,DC = = com命名上下文根来确定的结构主机DC = ForestDnsZones,DC = contoso,DC = com分区。

可以使用 LDP 工具、 活动目录服务接口 (ADSI) 编辑工具中和 ldifde 工具的工具来执行这些查询。例如,下面的查询使用 Idifde 工具:
ldifde-f Infra_DomainDNSZones.ldf-d"CN = 基础结构,DC = DomainDnsZones,DC = contoso,DC = com"-l fSMORoleOwner
此查询返回的基础结构主机角色所有者DC = DomainDnsZones,DC = contoso,DC = com到 Infra_DomainDNSZones.ldf 文件的分区。

注意:您可以不损害前提下林多次运行Adprep /rodcprep命令。不重复已在较早的rodcprep命令执行的操作。

如果您尝试在独立环境中运行rodcprep命令,为每个域,并为每个应用程序目录分区的基础主机必须成功执行操作环境中可用。

警告:本文已自动翻译

属性

文章 ID:949257 - 上次审阅时间:03/15/2015 10:29:00 - 修订版本: 5.0

  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Standard
  • kbtshoot kbprb kbmt KB949257 KbMtzh
反馈