您的位置:首页 > 职场人生

当您运行 Windows Server 2008 中的"adprep /rodcprep"命令时出现错误

2011-12-16 11:19 375 查看



症状


当您在 Windows Server 2008 上运行 Adprep /rodcprep 命令时, 您会收到以下错误消息: Adprep 无法联系分区 DC 的...

当您在 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,服务器错误消息: (null)。

Adprep 无法分区 DC 上的操作 = ForestDnsZones,DC = Contoso,DC = com 跳过下一分区。

Adprep 完成,但有错误。更新不是所有的分区。



回到顶端




原因


Adprep /rodcprep 命令试图联系树林中每个应用程序分区的基础结构主机时,会出现此问题。命令有此选项以设置所需的只读域控制器 (RODC) 复制的权...

Adprep /rodcprep 命令试图联系树林中每个应用程序分区的基础结构主机时,会出现此问题。命令有此选项以设置所需的只读域控制器 (RODC) 复制的权限。如果满足下列条件之一为真,Adprep /rodcprep 命令失败:

该分区或分区不再在错误信息中引用的存在。

结构主机的被引用的分区或分区已强制降级或处于脱机状态。



回到顶端




解决方案


若要解决此问题,如果该分区不再存在,请执行为孤立的分区使用 Dsmgmt 工具的"删除 nc"参数的元数据清除操作一次。有关详细的信息,请访问下面的 Micro...

若要解决此问题,如果该分区不再存在,请执行为孤立的分区使用 Dsmgmt 工具的"删除 nc"参数的元数据清除操作一次。有关详细的信息,请访问下面的 Microsoft 网站:

http://technet.microsoft.com/en-us/library/cc730970(WS.10).aspx (http://technet.microsoft.com/en-us/library/cc730970(WS.10).aspx)

如果指定的分区指定分区的在线的基础结构角色所有者。在"更多信息"一节中所述,您都可以通过手动修改该的对象 fSMORoleOwner 属性来执行此操作。



回到顶端




更多信息


下面的脚本示例修改基础架构对象的该指定非域命名上下文 (NDNC) 到活动,或 contactable,服务器上的 fSMORoleOwner 属性。此示例中的...

下面的脚本示例修改基础架构对象的该指定非域命名上下文 (NDNC) 到活动,或 contactable,服务器上的 fSMORoleOwner 属性。此示例中的 NDNC 是在 DomainDnsZones,DC = contoso,DC = com NDNC 命名上下文。该脚本使用以下命令:

cscript fixfsmo.vbs DC = DomainDnsZones,DC = contoso,DC = com

-------fixfsmo.vbs------------------

const ADS_NAME_INITTYPE_GC = 3

const ADS_NAME_TYPE_1779 = 1

const ADS_NAME_TYPE_CANONICAL = 2
set inArgs = WScript.Arguments

if (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 if

if (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 if

End if


若要确定结构主机为分区,查询 fSMORoleOwner 属性,在问题中的命名上下文根目录下基础架构对象上。 例如对于查询 fSMORoleOwner 属性在 CN = 基础结构,DC = DomainDnsZones,DC = contoso,DC = com 命名上下文以确定结构主机的根目录在 DC = DomainDnsZones,DC = contoso,DC = com 分区。 同样,查询 fSMORoleOwner 属性在 CN = 基础结构,DC = ForestDnsZones,DC = contoso,DC = com 命名上下文以确定结构主机的根目录在 DC = ForestDnsZones,DC = contoso,DC = com 分区。

您可以使用 LDP 工具、 Active Directory 服务接口 (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 命令基础结构主服务器为每个域,并为每个应用程序目录分区必须成功执行该操作在环境中可用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 Windows 休闲
相关文章推荐