Problembehandlung bei AD-Replikationsfehler 8589: Der DS kann keinen Dienstprinzipalnamen (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.

Hinweis

Private Benutzer: Dieser Artikel richtet sich nur an Technische Supportmitarbeiter und IT-Experten. Wenn Sie Hilfe bei einem Problem benötigen, wenden Sie sich bitte an die Microsoft Community.

Gilt für: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Ursprüngliche KB-Nummer: 2703028

Symptome

Fehler 8589: "Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank über kein serverReference-Attribut verfügt.

Symbolischer Fehler: ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF

Bei der Problembehandlung bei der Active Directory-Replikation wird einer der folgenden Fehler/Warnungen angezeigt.

  1. DCDIAG meldet, dass der Active Directory-Replikationstest mit einem Fehler status (8589) fehlgeschlagen ist: Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, der den Zielserver gegenseitig authentifiziert, da das entsprechende Serverobjekt in der lokalen DS-Datenbank kein serverReference-Attribut aufweist.

    Beispielfehlertext von DCDIAG ist unten dargestellt:

    Testserver: <Name des Standortdomänencontrollers><>

    Test wird gestartet: Replikationen

    * Replikationsüberprüfung

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

    Vom <Quelldomänencontroller> zum <Zieldomänencontroller>

    Benennungskontext: DC=<DN-Pfad>

    Bei der Replikation wurde ein Fehler (8589) generiert:

    Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank über kein serverReference-Attribut verfügt.

    Der Fehler ist zum Zeitpunkt des <Datums><> 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 beschreibbare Verzeichnispartition einzurichten.
    Verzeichnispartition:
    DC=ForestDnsZones,DC=contoso,DC=com
    Quelldomänencontroller:
    CN=NTDS-Einstellungen,CN=DCSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contosoDC=com
    Adresse des Quelldomänencontrollers:

    <Quell-DC NTDS-Einstellungen Obejct GUID>._msdcs.contoso.com
    Standortübergreifender Transport (falls vorhanden):
    Dieser Domänencontroller kann erst dann mit dem Quelldomänencontroller repliziert werden, wenn dieses Problem behoben wurde.

    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 (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank über kein serverReference-Attribut verfügt.

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

    REPADMINBefehle, die häufig die 8589-status zitieren, umfassen, sind jedoch nicht beschränkt auf:

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

    Repadmin /showrepl gibt den folgenden Fehler zurück:

    Quelle: <Standortname>\<DC-Name>

    <n> AUFEINANDERFOLGENDE FEHLER seit <Datum & Uhrzeit>

    Letzter Fehler: 8589 (0x218d):

    Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank über kein serverReference-Attribut verfügt.

  4. Ereignisse im Ereignisprotokoll der Verzeichnisdienste, die den Fehler status 8589 zitieren

    Ereignisse, die häufig die 8589-status zitieren, umfassen, sind aber nicht beschränkt auf:

    Ereignisquelle und Ereignis-ID Nachrichtenzeichenfolge
    NTDS-Replikation/ActiveDirectory_DomainService 1411 Active Directory konnte keinen Dienstprinzipalnamen (SPN) für die gegenseitige Authentifizierung 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 Fehler beim Versuch, einen Replikationslink für die folgende beschreibbare Verzeichnispartition einzurichten.

Ursache

Das Ereignis tritt am häufigsten auf einem Domänencontroller auf, nachdem ein Replikationspartner erzwungen und erneut bereitgestellt wurde, bevor die End-to-End-Replikation abgeschlossen werden kann. Dies kann auch der Fall sein, wenn Sie einen Domänencontroller umbenennen und das ServerReference-Attribut nicht aktualisiert wird. Das serverReference-Attribut in diesem instance ist das Serverobjekt, das in der MMC für Active Directory-Standorte und -Dienste (adsiedit.msc) angezeigt werden kann. Das Serverobjekt ist das übergeordnete Objekt des NTDS-Einstellungsobjekts des Domänencontrollers.

Lösung

Vergewissern Sie sich, dass das serverReference-Attribut nicht fehlt oder auf einen falschen Wert festgelegt ist, und aktualisieren Sie ihn 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 Einfache ist die Verwendung von Ping (Option A). Wenn beim Ping ein Fehler auftritt, verwenden Sie PowerShell (Option B). Wenn PowerShell keine Option ist, können Sie ldp.exe (Option C) verwenden. (Hinweis: Wenn Ihre DOmänencontroller 2003 sind und Sie PowerShell nicht darauf installieren können, können Sie PowerShell von einem in die Windows 7-Domäne eingebundenen Client oder einem Windows 2008- oder Windows 2008 R2-Server verwenden.)

    Option A
    Verwenden Sie NSLookup oder Ping, um den in <der Quell-DC NTDS-Einstellungen obejct GUID> aufgeführten DC zu suchen._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 suchen, 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 Ihrer Konfigurationspartition. Ersetzen Sie den Servernamen DCSRV01.contoso.com durch den Namen Ihres 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 in DCSRV01.contoso.com 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 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ü Connections 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 Distinguished Name Ihrer Konfigurationspartition, und klicken Sie auf OK.
    6. Klicken Sie im Menü Optionen auf Steuerelemente.
    7. Erweitern Sie im Dialogfeld Steuerelemente das Menü Vordefinierte Laden, klicken Sie auf Gelöschte Objekte zurückgeben, und klicken Sie auf OK.

      Hinweis

      Das 1.2.840.113556.1.4.417-Steuerelement 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) ein.
    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 sie verweist.

    Option D

    1. Rufen Sie repadmin /showrepl die Ausgabe des Zieldomänencontrollers ab, der den status 8589 meldet.
    2. Identifizieren Sie anhand der repadmin /showrepl Ausgabe aus dem vorherigen Schritt den status 8589-Replikation innerhalb der Ausgabe, und dokumentieren Sie das Datum und den Zeitstempel nach der Meldung Letzter Versuch.
    3. Suchen Sie mithilfe des Datums- und Zeitstempels aus dem vorherigen Schritt die entsprechende Ereignis-ID 1411 im Verzeichnisdienste-Ereignisprotokoll auf dem Zieldomänencontroller. Beachten Sie, dass sich die in der Ausgabe aufgeführte DSA-Objekt-GUID von dem repadmin /showrepl 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 NTDS-Einstellungen Eigenschaften Allgemein überprüfen oder die GUID in der Ereignis-ID pingen.
    5. Binden Sie mithilfe von ADSIEDIT oder Active Directory-Benutzer und -Computer an den Quelldomänencontroller, öffnen Sie die 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. Sobald Sie den Server gefunden haben, auf den mit einer der oben genannten Methoden verwiesen wird, gehen Sie wie folgt vor:

    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. Wählen Sie unter " Verbindungspunkt " unter " Einen bekannten Benennungskontext auswählen" die Option " Konfiguration " aus, und klicken Sie auf OK.
    5. Erweitern Sie im linken Bereich " Konfiguration "
    6. Erweitern Sie als Nächstes " CN=Configuration,DC=contoso,DC=com "
    7. Erweitern Sie als Nächstes " CN=Sites "
    8. Erweitern Sie unter CN=Sites den Standort , an dem sich der Server befindet. Beispiel: Default-First-Site-Name
    9. Erweitern Sie unter diesem Standort CN=Servers. Beispiel: Wenn sich DCSRV02 im Standort Default-First-Site-Name in Contoso.com befindet, sollten Sie sich in folgendem Format befinden: CN=DCSRV02, CN=Servers, 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), und wählen Sie Eigenschaften aus.
    11. Scrollen Sie auf der Registerkarte " Attribut Editor " nach unten zum ServerReference-Attribut.
    12. Die serverReference sollte CN=DCSRV02,OU=Domänencontroller,DC=Contoso,DC=com sein, wenn sie fehlt oder falsch ist, ändern Sie ihn in den richtigen Wert.
    13. ADSIEDIT.msc schließen

Weitere Informationen

Beispielszenario

  1. Rufen Sie die repadmin /showrepl-Ausgabe vom Zieldomänencontroller ab, der die 8589-status meldet.

  2. Identifizieren Sie mithilfe der repadmin /showrepl-Ausgabe aus dem vorherigen Schritt den status 8589-Replikation innerhalb der Ausgabe, und dokumentieren Sie das Datum und den Zeitstempel nach der Meldung Letzter Versuch.

    Repadmin /showrepl Ausgabe:

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

    DSA invocationID: <InvocationID>

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

    DC=Contoso,DC=com

    Charlotte\CONTOSOROOTDC1 über RPC

    DSA-Objekt-GUID: <GUID>

    Letzter Versuch @ <DateTime> war erfolgreich.

    CN=Configuration,DC=Contoso,DC=com

    Houston\5THWARDCORPDC über RPC

    DSA-Objekt-GUID: <GUID>

    Fehler beim letzten Versuch @ <DateTime> , Ergebnis 8589 (0x218d):

    Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, da das entsprechende Serverobjekt in der lokalen DS-Datenbank über kein serverReference-Attribut verfügt.

    1700 aufeinander folgende Fehler.

    Letzter Erfolg @ (nie).

Suchen Sie mithilfe des Datums- und Zeitstempels aus dem vorherigen Schritt die entsprechende Ereignis-ID 1411 im Verzeichnisdienste-Ereignisprotokoll auf dem Zieldomänencontroller. Beachten Sie, dass sich die in der Ausgabe von repadmin /showrepl aufgeführte DSA-Objekt-GUID von dem unterscheidet, was in der Ereignis-ID 1411 gemeldet wird.

Verzeichnisdienste-Ereignisprotokoll:

Protokollname: Verzeichnisdienst
Quelle: Microsoft-Windows-ActiveDirectory_DomainService
Date: <DateTime>
Ereignis-ID: 1411
Aufgabenkategorie: DS RPC-Client
Ebene: Fehler
Schlüsselwörter: Klassisch
Benutzer: ANONYME ANMELDUNG
Computer: LIVCONTOSODC.Contoso.com
Beschreibung:
Active Directory Domain Services konnte keinen Dienstprinzipalnamen (SPN) für die gegenseitige Authentifizierung für den folgenden Verzeichnisdienst erstellen.

Verzeichnisdienst: <GUID>._msdcs.Contoso.com

Der Anruf wurde abgelehnt. Die Kommunikation mit diesem Verzeichnisdienst kann beeinträchtigt werden.

Zusätzliche Daten
Fehlerwert:
8589 Der DS kann keinen Dienstprinzipalnamen (SPN) ableiten, mit dem der Zielserver gegenseitig authentifiziert werden soll, 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 (in diesem Beispiel 5thWardCorpDC), 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 in der folgenden Abbildung nicht festgelegt ist.

Screenshot: 5THWARDCORPDC-Eigenschaftenfenster mit ausgewähltem ServerReference-Attribut

Binden Sie mithilfe von ADSIEDIT oder Active Directory-Benutzer und -Computer an den Quelldomänencontroller, öffnen Sie die 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: Fenster

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

Screenshot des Fensters