Problembehandlung bei AD-Replikationsfehler 8589: Der DS kann keinen Dienstprinzipalnamen (SERVICE Principal Name, SPN) ableiten.

In diesem Artikel werden Symptome, Ursachen und Lösungsschritte für Fälle beschrieben, in denen AD-Vorgänge mit Win32-Fehler 8589 fehlschlagen.

Notiz

Private Benutzer: Dieser Artikel ist nur für technische Supportmitarbeiter und IT-Experten vorgesehen. Wenn Sie hilfe zu einem Problem suchen, bitten Sie die Microsoft-Community.

Ursprüngliche KB-Nummer: 2703028

Symptome

Fehler 8589: "Der DS kann keinen Dienstprinzipalnamen (SERVICE Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden kann, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

Symbolischer Fehler: ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF

Beim Beheben der Active Directory-Replikation werden die folgenden Fehler/Warnungen angezeigt.

  1. DCDIAG meldet, dass der Active Directory-Replikationstest mit dem Fehlerstatus (8589) fehlgeschlagen ist: Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, der sich gegenseitig authentifiziert, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

    Der Beispielfehlertext von DCDIAG wird unten angezeigt:

    Testserver: <Standort-DC-Name><>

    Starttest: Replikationen

    * Replikationsprüfung

    [Replikationsüberprüfung,<DC-Name>] Fehler beim letzten Replikationsversuch:

    Vom <Quell-DC zum <Ziel-DC>>

    Namenskontext: DC=<DN-Pfad>

    Die Replikation hat einen Fehler generiert (8589):

    Der DS kann keinen Dienstprinzipalnamen (Service Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

    Der Fehler ist zu <Datumszeit><> aufgetreten.

    Der letzte Erfolg ist bei (nie)| <Datum>.

  2. DCDiag.exe zeigt die folgende Warnung an:

    Ein Warnungsereignis ist aufgetreten. EventID: 0x80000785

    Generierte Uhrzeit: <DateTime>

    Ereigniszeichenfolge: Fehler beim Versuch, einen Replikationslink für die folgende schreibbare Verzeichnispartition herzustellen.
    Verzeichnispartition:
    DC=ForestDnsZones,DC=contoso,DC=com
    Quelldomänencontroller:
    CN=NTDS-Einstellungen,CN=DCSRV01,CN=Server,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contosoDC=com
    Quelldomänencontrolleradresse:

    <Quell-DC NTDS-Einstellungen Obejct GUID>._msdcs.contoso.com
    Intersite-Transport (falls vorhanden):
    Dieser Domänencontroller kann nicht mit dem Quelldomänencontroller repliziert werden, bis dieses Problem behoben ist.

    Benutzeraktion
    Überprüfen Sie, ob auf den Quelldomänencontroller zugegriffen werden kann oder netzwerkkonnektivität verfügbar ist.

    Zusätzliche Daten
    Fehlerwert:
    8589

    Der DS kann keinen Dienstprinzipalnamen (Service Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

  3. REPADMIN.EXE meldet, dass der letzte Replikationsversuch mit dem Status 8589 fehlgeschlagen ist.

    REPADMIN Befehle, die häufig den Status 8589 zitieren, sind jedoch nicht beschränkt auf:

    • REPADMIN /SHOWREPL
    • REPADMIN /SHOWREPS
    • REPADMIN /REPLSUM
    • REPADMIN /SYNCALL

    Repadmin /showrepl gibt den folgenden Fehler zurück:

    Quelle: <Websitename>\<DC-Name>

    <n> AUFEINANDER FOLGENDE FEHLER seit <Datum und Uhrzeit>

    Letzter Fehler: 8589 (0x218d):

    Der DS kann keinen Dienstprinzipalnamen (Service Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

  4. Ereignisse im Verzeichnisdienste-Ereignisprotokoll, das den Fehlerstatus 8589 angibt

    Ereignisse, die häufig den Status 8589 zitieren, umfassen, sind jedoch nicht beschränkt auf:

    Ereignisquelle und Ereignis-ID Nachrichtenzeichenfolge
    NTDS-Replikation / ActiveDirectory_DomainService 1411 Active Directory konnte keinen Gemeinsamen Authentifizierungsdienstprinzipalnamen (SPN) für den folgenden Domänencontroller erstellen.
    NTDS-Replikation 2023 Der lokale Domänencontroller konnte Keine Änderungen an dem folgenden Remotedomänencontroller für die folgende Verzeichnispartition replizieren.
    NTDS KCC 1925 Beim Versuch, einen Replikationslink für eine beschreibbare Verzeichnispartition herzustellen, ist ein Fehler aufgetreten.

Ursache

Das Ereignis tritt am häufigsten auf einem DC auf, nachdem ein Replikationspartner erzwingt und vor dem Abschließen der End-to-End-Replikation erzwungen und erneut bereitgestellt wurde. Dies kann auch passieren, wenn Sie einen Domänencontroller umbenennen und das ServerReference-Attribut nicht aktualisiert wird. Das ServerReference-Attribut in dieser Instanz ist das Serverobjekt, das in den Active Directory-Websites und -Diensten MMC (adsiedit.msc) angezeigt werden kann. Das Serverobjekt ist das übergeordnete Objekt des NTDS Settings-Objekts des Domänencontrollers.

Lösung

Stellen Sie sicher, dass das serverReference-Attribut nicht fehlt oder auf einen falschen Wert festgelegt ist, und aktualisieren Sie es auf den richtigen Wert.

  1. Suchen Sie den Domänencontroller, auf den in der Ereignis-ID 1411 verwiesen wird. Es gibt einige Optionen, die wir verwenden können, um dies zu finden. Die Einfachsten sind die Verwendung von Ping (Option A). Wenn Ping fehlschlägt, verwenden Sie PowerShell (Option B). Wenn PowerShell keine Option ist, können Sie ldp.exe (Option C) verwenden. (Hinweis: Wenn Ihre DCs 2003 sind und Sie PowerShell nicht installieren können, können Sie PowerShell von einem In-Windows 7-Domänenclient oder einem Windows 2008- oder Windows 2008 R2-Server verwenden)

    Option A
    Verwenden Sie "NSLookup" oder "Ping", um den dc-Wert zu finden, der in <den NTDS-Quelleinstellungen obejct GUID> aufgeführt ist._msdcs.contoso.com

    Beispiel:

    Ping-3dab7f9b-92e7-4391-b8db-71df532c1493._msdcs.contoso.com

    Pinging DCSRV02.contoso.com [IP] with 32 bytes of data :
    
    Reply from [IP]: bytes=32 time<1ms TTL=128
    Reply from [IP]: bytes=32 time<1ms TTL=128
    Reply from [IP]: bytes=32 time<1ms TTL=128
    Reply from [IP]: bytes=32 time<1ms TTL=128
    

    Option B
    Verwenden Sie PowerShell, um den DC zu finden, auf den verwiesen wird. Es gibt zwei PowerShell-Methoden, die Sie verwenden können. Öffnen Sie dazu das "Active Directory-Modul für Windows PowerShell"

    Methode 1: Führen Sie die folgenden beiden PowerShell-Cmdlets aus. Ersetzen Sie im ersten Cmdlet den Partitionsnamen CN=Configuration,DC=contoso,DC=com durch den DN der Konfigurationspartition. Ersetzen Sie den Servernamen DCSRV01.contoso.com durch den Namen Des Domänencontrollers. Ersetzen Sie im zweiten Cmdlet die GUID 3dab7f9b-92e7-4391-b8db-71df532c1493 durch die GUID in Ihrer Ereignis-ID 1411.

    $list = Get-ADObject -Filter 'ObjectClass -eq "ntdsdsa"' -SearchBase '*CN=Configuration,DC=contoso,Dc=com*' -Server *DCSRV01.contoso.com*  
    -includedeletedobjects -Properties *
    
    foreach ($dc in $list) {if ($dc.ObjectGUID -match "*3dab7f9b-92e7-4391-b8db-71df532c1493*") {Echo $dc.DistinguishedName }}  
    

    Methode 2: Eine weitere PowerShell-Option besteht darin, Folgendes auszuführen und dann die Ausgabetextdatei zu durchsuchen. Ersetzen Sie den DCSRV01.contoso.com Dc in Ihrer Umgebung durch einen DC.

    Get-ADObject -Filter 'ObjectClass -eq "ntdsdsa"' -SearchBase 'CN=Configuration,DC=contoso,Dc=com' -Server DCSRV01.contoso.com -includedeletedobjects > C:\NTDSDSA.txt
    

    Suchen Sie dann NTDSA.txt nach der GUID, auf die in der Ereignis-ID 141 verwiesen wird.

    Option C

    Verwenden von Ldp.exe

    1. Klicken Sie auf "Start" und dann auf "Ausführen"
    2. Geben Sie LDP.exe ein, und drücken Sie dann die EINGABETASTE.
    3. Klicken Sie im Menü "Verbindungen" auf "Binden", und klicken Sie auf "OK".
    4. Klicken Sie im Menü "Ansicht" auf "Struktur".
    5. Klicken Sie in BaseDN auf den Dropdownlistenpfeil, klicken Sie auf den distinguishierten Namen Ihrer Konfigurationspartition, und klicken Sie auf OK.
    6. Klicken Sie im Menü "Optionen" auf "Steuerelemente".
    7. Erweitern Sie im Dialogfeld "Steuerelemente" das Menü "Vordefiniertes Laden", klicken Sie auf "Gelöschte Objekte zurückgeben" und dann auf "OK".

      Notiz

      Das Steuerelement 1.2.840.113556.1.4.417 wird in der Liste "Aktive Steuerelemente" angezeigt.

    8. Klicken Sie im Menü Durchsuchen auf Suchen.
    9. Geben Sie im Feld "Basis-DN" Folgendes ein: CN=Sites, CN=Configuration,DC=contoso,DC=com (Ersetzen Sie "contoso" und "com" durch den entsprechenden Domänennamen.)
    10. Geben Sie im Feld "Filter" (objectClass=ntdsdsa) ein.
    11. Wählen Sie im Feld "Bereich" die Option "Unterstruktur" aus.
    12. Geben Sie im Feld "Attribute" ein * (Sternchen)
    13. Klicken Sie auf Ausführen.
    14. Suchen Sie auf der rechten Seite nach der GUID im objectGUID-Attribut, um den Server zu finden, auf den verwiesen wird.

    Option D

    1. Rufen Sie repadmin /showrepl die Ausgabe des Ziel-DC ab, der den Status 8589 meldet.
    2. Identifizieren Sie mithilfe der repadmin /showrepl ausgabe, die aus dem vorherigen Schritt abgerufen wurde, den Replikationsstatus 8589 innerhalb der Ausgabe, und dokumentieren Sie den Datums- und Zeitstempel nach der Nachricht "Letzter Versuch".
    3. Suchen Sie mithilfe des Datums- und Zeitstempels aus dem vorherigen Schritt die entsprechende Ereignis-ID 1411 im Verzeichnisdienste-Ereignisprotokoll am Ziel-DC. Beachten Sie, dass sich die in der repadmin /showrepl Ausgabe aufgeführte DSA-Objekt-GUID von dem unterscheidet, was in der Ereignis-ID 1411 gemeldet wird.( siehe Beispielszenario unten)
    4. Suchen Sie dann den in der Ereignis-ID 1411 aufgeführten Domänencontroller, indem Sie entweder die Registerkarte "ALLGEMEIN" der NTDS-Einstellungen überprüfen oder die GUID in der Ereignis-ID anpingen.
    5. Binden Sie die Bindung an den Quell-DC mithilfe von ADSIEDIT oder Active Directory-Benutzer und -Computer, und öffnen Sie den Attribut-Editor, und kopieren Sie den Wert in serverReference. Fügen Sie den Wert dieses Attributs in die Ziel-DCs-Kopie des Objekts ein. (Schritt 2)
  2. Nachdem Sie den Server gefunden haben, auf den mithilfe einer der oben genannten Methoden verwiesen wird, führen Sie die folgenden Schritte aus:

    1. Klicken Sie auf "Start" und dann auf "Ausführen"
    2. Geben Sie ADSIEDIT.msc ein, und drücken Sie die EINGABETASTE.
    3. Klicken Sie mit der rechten Maustaste auf "ADSI Bearbeiten", und wählen Sie "Verbinden mit... "
    4. In " Connection Point " unter " Select a well known Naming Context: " select " Configuration " and click OK.
    5. Erweitern Sie im linken Bereich "Konfiguration"
    6. Als Nächstes erweitern Sie " CN=Configuration,DC=contoso,DC=com "
    7. Weiter erweitern " CN=Sites "
    8. Erweitern Sie unter CN=Sites den Standort , in dem sich der Server befindet. Beispiel: Default-First-Site-Name
    9. Erweitern Sie unter diesem Standort CN=Server. Beispiel: Wenn DCSRV02 sich in der Website "Default-First-Site-Name" in Contoso.com befindet, sollten Sie sich in: CN=DCSRV02, CN=Server, CN=Default-First-Site-Name, CN=Sites, CN=Configuration, DC=contoso, DC=com
    10. Klicken Sie mit der rechten Maustaste auf den Domänencontroller (mit Option A, B oder C gefunden), und wählen Sie "Eigenschaften" aus.
    11. Scrollen Sie auf der Registerkarte "Attribut-Editor" nach unten zum ServerReference-Attribut.
    12. Der serverReference sollte mit CN=DCSRV02,OU=Domänencontrollern,DC=Contoso,DC=com vergleichbar sein, wenn es fehlt oder falsch ist, ändern Sie es in den richtigen Wert.
    13. SCHLIEßEN SIE ADSIEDIT.msc

Weitere Informationen

Beispielszenario

  1. Rufen Sie die Ausgabe "repadmin /showrepl" vom Ziel-DC ab, die den Status 8589 meldet.

  2. Identifizieren Sie mithilfe der aus dem vorherigen Schritt abgerufenen Ausgabe "repadmin /showrepl" den Replikationsstatus 8589 innerhalb der Ausgabe, und dokumentieren Sie den Datums- und Zeitstempel nach der Nachricht "Letzter Versuch".

    Repadmin /showrepl Ausgabe:

    Liverpool\LIVCONTOSODCDSA Optionen: IS_GC
    Websiteoptionen: (keine)
    GUID des DSA-Objekts: <GUID>

    DSA invocationID: <InvocationID>

    === EINGEHENDE NACHBARN ======================================

    DC=Contoso,DC=com

    Charlotte\CONTOSOROOTDC1 über RPC

    GUID des DSA-Objekts: <GUID>

    Letzter Versuch @ <DateTime> war erfolgreich.

    CN=Konfiguration,DC=Contoso,DC=com

    Houston\5THWARDCORPDC über RPC

    GUID des DSA-Objekts: <GUID>

    Letzter Versuch @ <DateTime> fehlgeschlagen, Ergebnis 8589 (0x218d):

    Der DS kann keinen Dienstprinzipalnamen (Service Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

    1700 aufeinander folgende Fehler(en).

    Letzter Erfolg @ (nie).

Suchen Sie mithilfe des Datums- und Zeitstempels aus dem vorherigen Schritt die entsprechende Ereignis-ID 1411 im Verzeichnisdienste-Ereignisprotokoll am Ziel-DC. Beachten Sie, dass sich die DSA-Objekt-GUID, die in der Ausgabe "repadmin /showrepl" aufgeführt ist, von dem unterscheidet, was in der Ereignis-ID 1411 gemeldet wird.

Verzeichnisdienste-Ereignisprotokoll:

Protokollname: Verzeichnisdienst
Quelle: Microsoft-Windows-ActiveDirectory_DomainService
Datum: <DateTime>
Ereignis-ID: 1411
Aufgabenkategorie: DS RPC-Client
Ebene: Fehler
Schlüsselwörter: Klassisch
Benutzer: ANONYME ANMELDUNG
Computer: LIVCONTOSODC.Contoso.com
Beschreibung:
Active Directory-Domäne Services konnte keinen Dienstprinzipalnamen (Mutual Authentication Service Principal Name, SPN) für den folgenden Verzeichnisdienst erstellen.

Verzeichnisdienst: <GUID>._msdcs.Contoso.com

Der Anruf wurde verweigert. Die Kommunikation mit diesem Verzeichnisdienst kann betroffen sein.

Zusätzliche Daten
Fehlerwert:
8589 Der DS kann keinen Dienstprinzipalnamen (SERVICE Principal Name, SPN) ableiten, mit dem sich der Zielserver gegenseitig authentifiziert werden kann, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein ServerReference-Attribut aufweist.

Screenshot des Fensters

Klicken Sie auf "Abbrechen", und zeigen Sie dann die Eigenschaften für das Serverobjekt an (5thWardCorpDC in diesem Beispiel), wählen Sie die Registerkarte "Attribut-Editor" (Server 2008 und höher) aus, oder verwenden Sie ADSIEDIT, um das Objekt auf Server 2003 zu bearbeiten.

Beachten Sie, dass das ServerReference-Attribut nicht in der folgenden Abbildung festgelegt ist.

Screenshot des 5THWARDCORPDC-Eigenschaftenfenster mit ausgewähltem serverReference-Attribut.

Binden Sie die Bindung an den Quell-DC mithilfe von ADSIEDIT oder Active Directory-Benutzer und -Computer, und öffnen Sie den Attribut-Editor, und kopieren Sie den Wert in serverReference. Fügen Sie den Wert dieses Attributs in die Ziel-DCs-Kopie des Objekts ein.

Screenshot des Active Directory-Fensters

Nachdem das serverReference-Attribut für den Domänencontroller ordnungsgemäß festgelegt wurde, wird folgendes angezeigt:

Screenshot des Fensters