Beheben von Fehler OBJ_CLASS_VIOLATION Adamsync in Windows Server 2003 oder Windows Server 2008

Zusammenfassung

Dieser Artikel beschreibt die OBJ_CLASS_VIOLATION Problembehandlung bei der Adamsync-Tool in Windows Server 2003 oder Windows Server 2008 verwenden.

Dieser Fehler tritt aufgrund Klasse Definition Unterschiede zwischen Active Directory-Verzeichnisdienst und die ADAM-Instanz. Zum Beheben dieses Problems die Schritte, die in den folgenden Abschnitten beschrieben:
  • Das Attribut und der Klasse des Objekts bestimmen
  • Schritte zur Behebung des Problems, wenn Attribute der obersten Klasse angehören
  • Schritte zur Behebung des Problems, wenn Attribute nicht der oberen Klasse gehören
Wenn Sie das Problem beheben können, wenden Sie sich an Microsoft Support.

Problembeschreibung

Sie versuchen, das Tool Active Directory Application Mode (ADAM) Synchronizer (Adamsync.exe) mit Active Directory-Objekte in eine ADAM-Instanz auf einem Windows Server 2003 oder Windows Server 2008-basierten Computer synchronisiert werden. Allerdings wird eine Fehlermeldung angezeigt, die der folgenden ähnelt
in der Protokolldatei Adamsync protokolliert:
Verarbeitung Eintrag: Seite X Frame X Eintrag X Anzahl X USN X Processing quelleneintrag < Guid = f9023a23e3a06d408f07a0d51c301f38 > Verarbeitung Eintrag im Bereich f9023a23e3a06d408f07a0d51c301f38. Hinzufügen target Objekt CN =TestGroup, OU =Accounts, dc =Domäne, dc =com. Hinzufügen von Attributen: Sourceobjectguid, ObjectClass, InstanceType, DisplayName Info AdminDescription DisplayNamePrintable, UserAccountControl, CodePage, Ländercode, Eigenschaft "LogonHours", PrimaryGroupID, Kommentar, AccountExpires, sAMAccountName, DesktopProfile, LegacyExchangeDN, UserPrincipalName



LDAP-Fehler ist aufgetreten. Ldap_add_sW: Verletzung der Objektklasse. Erweiterte Info: 0000207D: UpdErr: DSID 0315119-d Problem 6002 (OBJ_CLASS_VIOLATION) Daten-2054643804

Ursache

Dieses Problem tritt aufgrund der Klasse Definition Unterschiede zwischen Active Directory und ADAM. Dieser Unterschied wird angezeigt, wenn Sie versuchen, ein Objekt ein Attribut hinzuzufügen, das für die Klasse. Beispielsweise das Attribut im Schema ADAM überhaupt nicht definiert oder das Attribut definiert
Das Attribut ist jedoch nicht in der Liste Attribute erforderlich oder Optional für die bestimmte Klasse vorhanden. Normalerweise ist die zweite Situation am häufigsten
Ursache des Problems.

Die Klassendefinition für das zu synchronisierende Objekt enthält ein oder mehrere Attribute in Active Directory, die in ADAM nicht verfügbar sind. Die
"Attribute hinzufügen" angezeigt, die im Abschnitt "Symptome" erwähnte Fehlermeldung die Attribute, die Sie hinzufügen möchten. Diese
Attribute werden in der Liste der Optional oder verbindliche Attribute für die Klasse des Objekts, das synchronisiert wird definiert.

Beispielsweise ist das Referenzobjekt in der im Abschnitt "Symptome" erwähnte Fehlermeldung CN = TestGroup. Beim Anzeigen der CN = TestGroup in Active Directory und überprüfen Sie die Liste der Attribute für diese Klasse und alle übergeordneten Klassen, sind ein oder mehrere Attribute in dieser Liste nicht in der Liste der obligatorisch oder Optional Attribute, die für diese Klasse in ADAM aktiviert sind.

Hinweis Dazu gehören Listen der Attribute von allen übergeordneten Klassen.

Problemlösung

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben.

Bestimmt die Attribute und die Klasse des Objekts

  1. Überprüfen Sie die Liste der Attribute, die das Objekt hinzugefügt wird, die nicht aus. Bestimmen Sie das Objekt, die nicht durch die Fehlermeldung in das Synchronisierungsprotokoll anzeigen. Fehlerhafte Objekt ist immer das letzte Objekt Ende Synchronisierungsprotokoll genau vor die Fehlermeldung angezeigt wird. Beispielsweise die CN = TestGroup Objekt konnte nicht in der im Abschnitt "Symptome" erwähnte Fehlermeldung.
  2. Bestimmen Sie, ob DisplayNamePrintableoder Flags .-Kennung Erweiterungsname Attribute in der Fehlermeldung enthalten sind. Wenn eines dieser Attribute in der Fehlermeldung enthalten ist, finden Sie im Abschnitt "Schritte zum Beheben des Problems, wenn Attribute der obersten Klasse angehören". Wenn keine Attribute in der Fehlermeldung enthalten sind, finden Sie im Abschnitt "Schritte zum Problem zu beheben, wenn Attribute nicht der oberen Klasse gehören".

Schritte zur Behebung des Problems, wenn Attribute der obersten Klasse angehören

Sie werden feststellen, dass der Spitzenklasse in Active Directory-Schema das Attribut DisplayNamePrintableoder Flags .-Kennung Erweiterungsname enthält. Allerdings

Diese Attribute werden in der oberen Klasse in ADAM nicht enthalten. Allerdings kann nicht der Spitzenklasse in ADAM ändern. Daher verwenden Sie eine der folgenden Methoden zur Lösung des Problems:
  • Schließen Sie diese Attribute mithilfe des Abschnitts < Exclude > in der XML-Konfigurationsdatei aus.
  • Mithilfe des MMC-Schemas manuell fügen Sie diese Attribute zur Liste der optionalen Attribute für die jeweilige im ADAM-Schema hinzu. In der im Abschnitt "Symptome" erwähnte Fehlermeldung ist das Objekt der Gruppe-Klasse. Daher müssen Sie diese Attribute zur Liste optionale Attribute für die Klasse in ADAM hinzufügen.

Schritte zur Behebung des Problems, wenn Attribute nicht der oberen Klasse gehören

  1. In ADSchemaAnalyzer Tools\ MenüOptionen klicken Sie auf die Registerkarte LDIF-Erzeugung Update mit Verweisen auf neue und vorhanden .
  2. Verwenden Sie im Menü Datei Active Directory als Zielschema und ADAM Basisschema zu laden. Warten Sie auf Tool zum Vergleichen der Schemas Fertig stellen.
  3. Klicken Sie im Schema auf alle Elemente als einbezogen markieren.
  4. Klicken Sie im Menü Datei auf Erstellen LDIF-Datei um eine LDF-Datei erstellen, die die Änderung enthält.

    Hinweis Importieren von LDF-Datei direkt in ADAM werden erforderlichen Attribute wahrscheinlich nicht hinzugefügt oder bearbeitet werden korrekt. Darüber hinaus
  5. Es wird keine Fehlermeldung angezeigt. Abschnitt "Warum kann nicht die LDF-Datei direkt in ADAM importieren" eine Erläuterung, warum dies geschieht. In diesem Fall gehen Sie zu Schritt 5, ohne die LDF-Datei importieren.
  6. Überprüfen Sie die LDF-Datei, die Sie in Schritt 4 erstellt haben. Zeigen Sie die Klasse an, die das Problem verursacht Angenommen, die Klasse anzeigen Abschnitt für diese Klasse enthält die Liste der Attribute, die in der Liste Attribute erforderlich oder Optional für diese Klasse in Active Directory vorhanden, jedoch sind im ADAM.
  7. Gefunden Sie Problem-Attribut in der LDF-Datei. Überprüfen Sie dazu den Abschnitt "#attributes" in der LDF-Datei. Attribute, die nicht importiert werden, bleiben in diesem Abschnitt. Normalerweise ist das Problem-Attribut das einzige Attribut Sie im Abschnitt "#attributes finden". Wenn Attributs Problem finden, gehen Sie zu Schritt 8. Wenn Sie das Problem-Attribut nicht finden, fahren Sie mit Schritt 7 fort.
  8. Wenn das Problem-Attribut aus dem Abschnitt "#attributes" die LDF-Datei nicht offensichtlich ist, folgendermaßen Sie Attributs Problem finden
    1. Derzeit werden alle Änderungen auf eine Klasse in einem Abschnitt in der LDF-Datei. Dies ist die "#Updating vorhanden Elemente" Abschnitt. Finden Sie in diesem Abschnitt im Abschnitt, der die Klasse aktualisiert das Problem. Zum Beispiel ist die Klasse das Problem finden ein Abschnitts Sie, das der folgenden ähnelt:
      # Update element: groupdn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: adminCount
      mayContain: 1.2.840.113556.1.4.150
      # mayContain: controlAccessRights
      mayContain: 1.2.840.113556.1.4.200
      # mayContain: groupAttributes
      mayContain: 1.2.840.113556.1.4.152
      # mayContain: groupMembershipSAM
      mayContain: 1.2.840.113556.1.4.166
      -

      Note Some more entries that may be located here have been excluded from this example.

      dn:
      changetype: modify
      add: schemaUpdateNow
      schemaUpdateNow: 1

    2. Ändern Sie die Einträge, die Sie in Schritt 4a ermittelt durch die Einträge in ein einzelnes Attribut pro Arbeitsgang teilen. Beispielsweise ändern Sie Einträge im Beispiel in Schritt 7a mit Posten, die den folgenden ähneln:
      # Update element: groupdn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: adminCount
      mayContain: 1.2.840.113556.1.4.150
      -

      # Update element: group
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: controlAccessRights
      mayContain: 1.2.840.113556.1.4.200
      -

      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: groupAttributes
      mayContain: 1.2.840.113556.1.4.152
      -

      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: groupMembershipSAM
      mayContain: 1.2.840.113556.1.4.166
      -

      Note Some more entries that may be located here have been excluded from this example.


      dn:
      changetype: modify
      add: schemaUpdateNow
      schemaUpdateNow: 1

      Fehler #: 233961 (Windows SE)
  9. Speichern Sie die LDF-Datei.
  10. Importieren der LDF-Datei ADAM-Schema mit dem Befehl am Anfang der LDF-Datei bereitgestellt wird.
  11. Anzeigen des Berichts, der von dem Dienstprogramm Ldifde angezeigt wird. LDIFDE wird jetzt die aufgetretenen Fehler zu melden mit den Attributen, die nicht importiert wurden. Die Fehlerinformationen werden folgende Beispiel aussehen:
    C:\WINDOWS\ADAM>ldifde -i -u -f c:\data\problem\KBtest_modified.ldf -s localhost:50010 -j .-c "cn=Configuration,dc=X" #configurationNamingContext
    Connecting to "localhost:50010"
    Logging in as current user using SSPI
    Importing directory from file "c:\data\problem\KBtest_modified.ldf"
    Loading entries.
    Add error on line 15: Already Exists
    The server side error is: 0x2071 An attempt was made to add an object to the
    ectory with a name that is already in use.
    The extended server error is:
    00002071: UpdErr: DSID-0305030D, problem 6005 (ENTRY_EXISTS), data 0


    Hinweis Suchen Sie das Problem-Attribut in der LDF-Datei mithilfe der angegebenen Zeilennummer im Bericht.
  12. Verwenden Sie diese Fehlerinformationen Attribut Problem gefunden und das Problem beheben. Führen Sie diese Schritte, um das Problem zu beheben:
    1. Suchen Sie das Problem-Attribut in der LDF-Datei mithilfe der angegebenen Zeilennummer im Bericht. Fehlgeschlagene Attribut in DisplayName möglicherweise eine DUP "Präfix".
    2. Beachten Sie den Objektbezeichner (OID) des Attributs, und suchen Sie nach dieser Objektbezeichner in ADAM.
    3. Suchen Sie das Attribut in ADAM mit der gleichen Objekt ID.
    4. Vergleichen Sie das Attribut in ADAM und die LDF-Datei keine Unterschiede gefunden. Z. B. möglicherweise die Attribute einer anderen DisplayName jedoch die gleiche ID.
    5. Welches Attribut zu entscheiden und anderen korrigieren. Z. B. entfernen Sie den Eintrag aus der LDF-Datei oder ADAM Attribut Eintrag korrigieren. Oder das Problem-Attribut von der Synchronisierung ausschließen, mit < Exclude >-Abschnitt in der XML-Konfigurationsdatei.
  13. Nachdem das Problem-Attribut korrigiert in Active Directory oder ADAM Schema oder nachdem die LDF-Datei das Attribut entfernt importieren Sie die geänderte LDF-Datei erneut. Nachdem der Importvorgang erfolgreich sein sollte. Wenn das Problem nicht behoben ist, möglicherweise ein anderes Attribut, das das Problem verursacht. Wiederholen Sie die Schritte 10 bis 12, bis alle Attribute importiert werden.

Diagnose-Protokollierung

Bei Attributs Problem suchen nicht offensichtlich möglicherweise was falsch ist. Kann z. B. eine doppelte Objekt-ID nicht gefunden oder

anderen DisplayName-Eintrag. Wird ein Problem-Attribut nicht importiert, erhalten Sie weitere Informationen über den Fehler, durch Aktivieren der Debugprotokollierung für LDAP-Schnittstelle. Gehen Sie hierzu folgendermaßen vor:
  1. Weitere Informationen zu Ldifde Fehler aktivieren Sie LDAP ADAM anmelden. Dazu ändern Sie den Wert für den Registrierungseintrag Kategorie 16 LDAP-Schnittstelle Ereignisse auf 5. Dieser Registrierungseintrag befindet sich im folgenden Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
    \ADAM_instanceName\Diagnostics
  2. Importieren Sie die LDF-Datei erneut.
  3. Überprüfen Sie das Ereignisprotokoll auf Fehler.
  4. Nach Abschluss der Problembehandlung den Wert für den Registrierungseintrag Kategorie 16 LDAP-Schnittstelle Ereignisse auf 0 zurückgesetzt. Andernfalls wird das Ereignisprotokoll überflutet werden.

Wenden Sie sich an Microsoft Support Services

Wenn nach den in diesem Artikel beschriebenen Schritte das Problem nicht behoben wird, wenden Sie sich an Microsoft Support. Klicken Sie auf den folgenden Link zum Microsoft-Support zur Verfügung:

Status

Dieses Verhalten ist entwurfsbedingt.

Weitere Informationen

Zum Synchronisieren von Daten aus Active Directory zu ADAM mithilfe des Tools Adamsync folgendermaßen Sie vor:
  1. Klicken Sie auf Start, AlleProgramme, zeigen Sie ADAMund ADAM Tools Eingabeaufforderungsfensterklicken.
  2. Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    Adamsync FS Servername:Anschlussnummer ConfigurationName log Log_file_namelog
Weitere Informationen zur Verwendung von Adamsync-Tool finden Sie auf der folgenden Microsoft-Websites:

Warum die LDF-Datei direkt in ADAM importieren kann

Wenn Sie die LDF-Datei, die Sie in Schritt 1 im Abschnitt importieren "Schritte zum Beheben des Problems, wenn Attribute nicht der oberen Klasse gehören" erstellt
in ADAM werden diese Attribute der Attributliste in ADAM noch nicht hinzugefügt. Sie können dieses Verhalten mithilfe des ADAM-Schemas MMC oder ADSIEDIT überprüfen
Schema überprüfen. Dieses Verhalten tritt auf, weil Ldifde Importieren automatisch fehl. Derzeit meldet Ldifde keine Fehler. Im Hintergrund fehl aufgrund ADSchemaAnalyzer die LDF-Datei erstellt. ADSchemaAnalyzer verwendet die Ntdsschemaadd und ntdsSchemamodify
Befehle. Diese Befehle aktivieren permissive LDAP-Steuerelement. Dies bedeutet, dass Fehler im Hintergrund.

Außerdem werden alle Attribute in die Liste der optionalen Attribute hinzugefügt werden für jede Klasse in einem einzigen Vorgang hinzufügen/ändern hinzugefügt. Wenn ein Problem eines der Attribute der gesamte Vorgang fehlschlägt und keine Attribute in der Liste hinzugefügt. Deshalb müssen weitere Schritte
gefunden Sie Problem-Attribut.

Normalerweise ist wahrscheinlich die Ursache eine doppelte Objekt-ID eines Attributs oder einige andere Unterschied Attributdefinitionen in Active Directory
und ADAM. In Windows Server 2003 verwendet ADSchemaAnalyzer LdapDisplayName Attribute und Klassen zum Vergleichen von Active Directory und ADAM.
Dies bedeutet, die OIDs doppelte verpasst und ein Attribut kann als neues Attribut angezeigt, wenn der LDapDisplayName in ADAM nicht vorhanden ist. In Windows Server 2008 (Active Directory/LDS) ADSchemaAnalyzer den Objektbezeichner verwendet und meldet Wenn Konflikte gefunden.
Eigenschaften

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

Feedback