Fehlermeldung, wenn Sie den Befehl "Adprep/rodcprep" in Windows Server 2008 ausführen: "Adprep konnte keinen Kontakt zu einem Replikat für die Partition DC = DomainDnsZones, DC = Contoso, DC = com herstellen"

Problembeschreibung

Beim Ausführen des Befehls Adprep/rodcprep auf Windows Server 2008 wird die folgende Fehlermeldung angezeigt:
Adprep konnte nicht erhalten ein Replikat Partition DC = DomainDnsZones, DC = Contoso, DC = com

Adprep konnte den Vorgang auf Partition DC = DomainDnsZones, DC = Contoso, DC = com zum nächsten Partition gewechselt werden.



Adprep konnte nicht erhalten ein Replikat Partition DC = ForestDnsZones, DC = Contoso, DC = com

Adprep Fehler LDAP. Fehlercode: 0 x 0. Server-erweiterte Fehlercode: 0 x 0 Fehlermeldung Server: (null).



Adprep konnte den Vorgang auf Partition DC = ForestDnsZones, DC = Contoso, DC = com zum nächsten Partition gewechselt werden.

Adprep wurde mit Fehlern abgeschlossen. Nicht alle Partitionen werden aktualisiert.

Ursache

Dieses Problem tritt auf, wenn der Befehl Adprep/rodcprep versucht an der Infrastrukturmaster für jede Anwendungspartition in der Gesamtstruktur. Der Befehl wird zum Festlegen der Berechtigungen, die für Read-Only-Domänencontroller (RODC) Replikation erforderlich sind. Der Befehl Adprep/rodcprep schlägt fehl, wenn Folgendes zutrifft:
  • Die Partition bzw. Partitionen, auf die in der Fehlermeldung verwiesen werden, sind nicht mehr vorhanden.
  • Der Infrastrukturmaster für die referenzierte Partition(en) ist zwangsweise herabgestuft worden oder ist offline.

Problemlösung

Um das Problem zu beheben, wenn die Partition nicht mehr vorhanden ist, führen Sie eine Metadaten-Bereinigung für die verwaisten Partition mithilfe des Parameters "remove nc" des Dienstprogramms Dsmgmt. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:

Existiert die angegebene Partition, geben Sie einen Infrastruktur-Besitzer an, der für die Partition online ist. Sie können hierzu manuell ändern das Attribut " fSMORoleOwner " auf das Objekt wie im Abschnitt "Weitere Informationen" beschrieben.

Weitere Informationen

Im folgenden Beispielskript wird das Attribut " fSMORoleOwner " auf dem Infrastrukturobjekt von der angegebenen nicht benennen Kontext (Domänennamenkontext) auf einem Server aktiv und erreichbar, geändert. In diesem Beispiel der Domänennamenkontext ist die DomainDnsZones, DC = Contoso, DC = com Domänennamenkontext Namenskontext. Das Skript verwendet den folgenden Befehl:
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
Ermitteln den Infrastrukturmaster für eine Partition Abfrage das Attribut " fSMORoleOwner " auf dem Infrastrukturobjekt im Stammverzeichnis naming Context betreffenden. Abfrage beispielsweise das Attribut fSMORoleOwner auf der CN = Infrastructure, DC = DomainDnsZones, DC = Contoso, DC = com benennen Kontextstamm bestimmt den Infrastrukturmaster für die DC = DomainDnsZones, DC = Contoso, DC = com Partition. Entsprechend Abfrage das Attribut fSMORoleOwner auf der CN = Infrastructure, DC = ForestDnsZones, DC = Contoso, DC = com benennen Kontextstamm bestimmt den Infrastrukturmaster für die DC = ForestDnsZones, DC = Contoso, DC = com Partition.



Tools wie das LDP-Tool, das Tool Active Directory Service Interfaces (ADSI) Edit und das Ldifde-Tool können Sie diese Abfragen ausführen. Die folgende Abfrage verwendet beispielsweise Idifde-Tool:
Ldifde – f Infra_DomainDNSZones.ldf – d "CN = Infrastructure, DC = DomainDnsZones, DC = Contoso, DC = com" -l fSMORoleOwner
Diese Abfrage gibt den Infrastruktur Besitzer für das DC = DomainDnsZones, DC = Contoso, DC = com Partition in die Datei Infra_DomainDNSZones.ldf.


Hinweis Den Befehl Adprep/rodcprep kann mehrmals ausgeführt werden, recycelt der Gesamtstruktur. In früheren Ausführung des Befehls Rodcprep abgeschlossene Vorgänge werden nicht wiederholt.

Beim Befehl Rodcprep in einer isolierten Umgebung ausgeführt muss der Infrastrukturmaster für jede Domäne und jeden Anwendungsverzeichnispartition in der Umgebung für den Vorgang verfügbar sein.
Eigenschaften

Artikelnummer: 949257 – Letzte Überarbeitung: 14.01.2017 – Revision: 1

Feedback