Comment résoudre une erreur OBJ_CLASS_VIOLATION dans Adamsync dans Windows Server 2003 ou dans Windows Server 2008

Traductions disponibles Traductions disponibles
Numéro d'article: 923835 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique comment résoudre une erreur OBJ_CLASS_VIOLATION qui se produit lorsque vous utilisez l'outil Adamsync dans Windows Server 2003 ou dans Windows Server 2008.

Cette erreur se produit en raison des différences de définition de classe entre le service d'annuaire Active Directory et l'instance ADAM.
Pour résoudre ce problème, suivez les étapes décrites dans les sections suivantes :
  • Déterminer les attributs et la classe de l'objet
  • Étapes pour résoudre le problème lorsque attributs appartiennent à la classe TOP
  • Étapes pour résoudre le problème lorsque les attributs n'appartiennent pas à la classe TOP
Contactez le support technique Microsoft si vous ne pouvez pas résoudre le problème.

Symptômes

Vous essayez d'utiliser l'outil Active Directory Application Mode (ADAM) synchronisateur (Adamsync.exe) pour synchroniser les objets Active Directory vers une instance ADAM sur un ordinateur Windows Server 2003 ou Windows Server 2008. Toutefois, un message d'erreur semblable au suivant est enregistré dans le fichier journal Adamsync :
Entrée de traitement : page X, cadre X, saisie X, nombre X, USN X traitement source entrée <guid=f9023a23e3a06d408f07a0d51c301f38> f9023a23e3a06d408f07a0d51c301f38 dans étendue d'entrée de traitement. Ajout cibler l'objet CN =TestGroup, OU = Accounts, dc = domain, dc = com. Ajouter des attributs : sourceobjectguid, objectClass, instanceType, displayName, info, adminDescription, displayNamePrintable, userAccountControl, page de codes, countryCode, logonHours, primaryGroupID, commentaire, accountExpires, sAMAccountName, desktopProfile, legacyExchangeDN, userPrincipalName

Erreur LDAP s'est produite. ldap_add_sW : objet Violation de classe. Informations étendues : 0000207D : UpdErr : DSID-0315119D, problème 6002 OBJ_CLASS_VIOLATION, données-2054643804

Cause

Ce problème se produit en raison des différences définition de classe entre Active Directory et ADAM. Cette différence s'affiche lorsque vous essayez de modifier un objet pour inclure un attribut qui n'est pas valide pour sa classe. Par exemple, l'attribut n'est pas défini dans le schéma ADAM, ou l'attribut est défini mais l'attribut est absent dans la liste d'attributs obligatoire ou facultatif pour la classe spécifique. En règle générale, la deuxième situation est la cause plus fréquentes de ce problème.

La définition de classe pour l'objet qui doit être synchronisé contient un ou plusieurs attributs dans Active Directory ne sont pas disponibles dans ADAM. La section attributs d'ajout de la message d'erreur qui est mentionné dans la section « Symptômes » affiche les attributs que vous essayez d'ajouter. Ces attributs sont définis dans la liste des facultatif ou attributs obligatoires pour la classe de l'objet qui est en cours de synchronisation.

Par exemple, dans message d'erreur qui est mentionné dans la section « Symptômes », l'objet de référence est CN = TestGroup. Lorsque vous affichez le CN=TestGroup objet dans Active Directory et vérifier la liste des attributs de cette classe et toutes les classes du parent, vous voyez qu'un ou plusieurs attributs de cette liste ne sont pas dans la liste d'attributs obligatoire ou facultatif qui sont activés pour cette classe dans ADAM.

note Cela inclut les listes d'attribut à partir de toutes les classes parent.

Résolution

Pour résoudre ce problème, procédez comme suit.

Déterminer les attributs et la classe de l'objet

  1. Vérifiez la liste des attributs ajoutés à l'objet qui a échoué. Vous pouvez déterminer l'objet qui a échoué en affichant le message d'erreur dans le journal de synchronisation. L'objet a échoué est toujours le dernier objet qui est indiqué à la fin du journal de synchronisation exactement avant le message d'erreur. Par exemple, le CN=TestGroup objet a échoué dans la message d'erreur qui est mentionné dans la section « Symptômes ».
  2. Déterminer si les attributs DisplayNamePrintable , indicateurs ou NomExtension sont incluses dans le message d'erreur. Si un de ces attributs est inclus dans le message d'erreur, consultez la section « Procédure pour résoudre ce problème lorsque attributs appartiennent à la classe TOP ». Si aucun attributs ne sont inclus dans le message d'erreur, consultez la section « Procédure pour résoudre le problème lorsque les attributs n'appartiennent pas à la classe TOP ».

Étapes pour résoudre le problème lorsque attributs appartiennent à la classe TOP

Vous constaterez que la classe TOP dans le schéma Active Directory contient l'attribut DisplayNamePrintable , indicateurs ou ExtensionName . Toutefois, ces attributs ne sont pas contenus dans la classe TOP dans ADAM. Toutefois, vous ne pouvez pas modifier la classe TOP dans ADAM. Par conséquent, appliquez l'une des méthodes suivantes pour résoudre le problème :
  • Exclure ces attributs à l'aide de la section <exclude> dans le fichier de configuration XML.
  • Grâce au schéma MMC, ajouter manuellement ces attributs à la liste des attributs facultatifs pour la classe appropriée dans le schéma ADAM. Par exemple, dans message d'erreur qui est mentionné dans la section « Symptômes », l'objet Échec est de la classe de groupe. Par conséquent, vous devez ajouter ces attributs à la liste attributs facultatifs pour la classe de groupe dans ADAM.

Étapes pour résoudre le problème lorsque les attributs n'appartiennent pas à la classe TOP

  1. Dans ADSchemaAnalyzer, sous les outils \ menu Options , cliquez sur Mise à jour avec des références aux éléments nouveaux et présentes dans l'onglet génération LDIF .
  2. Utilisez le menu Fichier pour charger Active Directory en tant que le schéma cible et ADAM en tant que le schéma de base. Attendez que l'outil pour comparer les schémas de fin.
  3. Dans le menu schéma , cliquez sur Marquer tous les éléments comme incluses .
  4. Dans le menu Fichier , cliquez sur fichier LDIF créer pour créer un fichier LDF qui contient les modifications.

    note Si vous importez ce fichier LDF directement dans ADAM, les attributs nécessaires sont probablement pas être ajoutés ou modifiés correctement. En outre, aucun message d'erreur n'est affiché. Consultez la section « pourquoi vous ne peut pas importer le LDF fichier directement dans ADAM » pour obtenir une explication de pourquoi cela se produit. Dans ce cas, passez à étape 5 sans importer le fichier LDF.
  5. Examinez le fichier LDF que vous avez créé à l'étape 4. Plus précisément, affichez la classe qui est à l'origine du problème. Par exemple, afficher la classe de groupe. La section pour cette classe contiendra la liste d'attributs qui sont présents dans la liste d'attributs obligatoire ou facultatif pour cette classe dans Active Directory mais qui sont manquants dans ADAM.
  6. Trouver l'attribut de problème dans le fichier LDF. Pour ce faire, consultez la section « #attributes » dans le fichier LDF. Attributs qui ne sont pas importées restent dans cette section. En règle générale, l'attribut de problème est l'attribut uniquement que vous trouvez dans la section « #attributes ». Si vous trouvez l'attribut de problème, passez à l'étape 8. Si vous ne trouvez pas l'attribut de problème, passez à étape 7.
  7. Si l'attribut problème n'est pas évident de la section « #attributes » dans le fichier LDF, procédez comme suit pour trouver l'attribut de problème :
    1. Actuellement, toutes les modifications apportées à une classe sont sous une section dans le fichier LDF. Ceci est la section « éléments présent #Updating ». Dans cette section, recherchez la section qui met à jour de la classe qui a le problème. Par exemple, si la classe de groupe est le problème, vous trouverez une section qui ressemble à celui-ci : élément
      # Update element: group
      dn: 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
      -
      
      NoteSome more entries that may be located here have been excluded from this example.
      
      dn: 
      changetype: modify
      add: schemaUpdateNow
      schemaUpdateNow: 1
      
      DN: changetype : modifier ajouter : schemaUpdateNow schemaUpdateNow: 1
    2. Modifier les entrées trouvé à l'étape 4 a en fractionnant les entrées dans un attribut unique par opération. Par exemple, modifier les entrées dans l'exemple étape 7a en utilisant des entrées semblables aux suivantes : élément
      # Update element: group
      dn: 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
      
      DN: changetype : modifier ajouter : schemaUpdateNow schemaUpdateNow: 1
  8. Enregistrez le fichier LDF.
  9. Importer le fichier LDF dans le schéma ADAM en utilisant la commande est fournie au début du fichier LDF.
  10. Afficher le rapport est affiché par l'utilitaire Ldifde. LDIFDE signale les erreurs qui se produisent avec les attributs qui ont été importées pas. Les informations d'erreur ressemble aux informations d'exemple suivantes :
    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
    

    note Recherchez l'attribut de problème dans le fichier LDF en affichant le numéro de ligne qui est indiqué dans le rapport d'erreurs.
  11. Utiliser ces informations d'erreur pour rechercher l'attribut problème et résoudre le problème. Procédez comme suit pour essayer de résoudre le problème :
    1. Recherchez l'attribut de problème dans le fichier LDF en affichant le numéro de ligne qui est indiqué dans le rapport d'erreurs. L'attribut Échec peut avoir un préfixe DUP-dans le nom d'affichage.
    2. Notez l'identificateur d'objet (OID) de l'attribut et recherchez cet identificateur d'objet dans ADAM.
    3. Trouver l'attribut dans ADAM ayant le même identificateur d'objet.
    4. Comparer l'attribut dans ADAM et dans le fichier LDF pour rechercher les différences. Par exemple, les attributs peuvent avoir un nom d'affichage différent mais le même identificateur d'objet.
    5. Décider quel attribut pour conserver et puis corrigez autre le. Par exemple, vous pouvez supprimer l'entrée à partir du fichier LDF, ou vous pouvez corriger l'écriture d'attributs ADAM. Ou, vous pouvez exclure l'attribut de problème de la synchronisation à l'aide de la section <exclude> dans le fichier de configuration XML.
  12. Après que l'attribut de problème est corrigé dans Active Directory ou dans le schéma ADAM ou une fois l'attribut est supprimé à partir du fichier LDF, réimportez le fichier LDF modifié. L'opération d'importation doit maintenant être réussie. Si le problème n'est pas résolu, il peut être un autre attribut qui est à l'origine du problème. Répétez les étapes 10 à 12 jusqu'à ce que tous les attributs sont importés.

Enregistrement des diagnostics

Lorsque vous avez trouvé l'attribut de problème, il ne peut pas être évident Qu'est incorrect avec lui. Par exemple, vous pouvez un identificateur d'objet en double ou introuvable une entrée de nom d'affichage différente. Lorsqu'un attribut problème n'est pas importé, vous pouvez obtenir plus d'informations sur la défaillance en activant le journal de débogage pour l'interface LDAP. Pour ce faire, procédez comme suit :
  1. Pour obtenir plus d'informations sur l'échec de LDIFDE, activer LDAP dans ADAM. Pour cela, modifiez la valeur de l'entrée de Registre
    Category 16 LDAP Interface events
    à 5. Cette entrée de Registre se trouve sous la sous-clé de Registre suivante :
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ADAM_instanceName\Diagnostics
  2. Réimportez le fichier LDF.
  3. Consultez le journal des événements d'erreurs.
  4. Après avoir terminé le dépannage, réinitialiser la valeur de l'entrée de Registre
    Category 16 LDAP Interface events
    à 0. Sinon, le journal des événements sera flooded.

Contactez le support Microsoft

Si le problème persiste après avoir effectué les étapes de cet article, contactez le support Microsoft. Cliquez sur le lien suivant pour accéder aux support technique Microsoft :
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Statut

Ce comportement est voulu par la conception même du produit.

Plus d'informations

Pour synchroniser les données à partir d'Active Directory vers ADAM à l'aide de l'outil Adamsync, procédez comme suit :
  1. Cliquez sur Démarrer , pointez sur Tous les programmes , pointez vers ADAM et puis cliquez sur invite de commande des outils ADAM .
  2. À l'invite de commandes, tapez la commande suivante et appuyez sur ENTRÉE :
    adamsync /fs Server_Name : port_number configurationName /log log_file_name .log
Pour plus d'informations sur la façon d'utiliser l'outil Adamsync, reportez-vous au adresse aux sites Web de Microsoft aux adresses suivantes :
http://technet2.microsoft.com/windowsserver2008/en/library/ca49911b-d004-4497-b369-6506495fb30f1033.mspx?mfr=true

http://technet2.microsoft.com/windowsserver/en/library/809c8d09-cc99-4e7e-a80d-e77c5aefb3211033.mspx?mfr=true

Pourquoi vous ne pouvez pas importer le fichier LDF directement dans ADAM

Si vous importez le fichier LDF que vous avez créée à étape 1 dans la section « Procédure pour résoudre le problème lorsque les attributs n'appartiennent pas à la classe TOP » dans ADAM, ces attributs sont encore pas ajoutés à la liste d'attributs dans ADAM. Vous pouvez vérifier cela à l'aide du schéma ADAM MMC ou ADSIEDIT pour examiner le schéma. Ce problème se produit car le LDIFDE Importation cas d'échec de l'opération en mode silencieux. Actuellement, LDIFDE ne signale pas les erreurs. Il échoue en silence en raison de la manière que ADSchemaAnalyzer construit le fichier LDF. ADSchemaAnalyzer utilise les commandes ntdsschemaadd et ntdsSchemamodify . Ces commandes activer le contrôle LDAP permissif. Cela signifie que toute défaillance est en mode silencieux.

En outre, pour chaque classe, tous les attributs à ajouter dans la liste des attributs facultatifs sont ajoutés en une seule opération ajouter/modifier. Par conséquent, s'il y a un problème ajouter un des attributs, l'opération entière échoue et aucune des attributs de la liste ne sont ajoutés. Par conséquent, des étapes supplémentaires doivent être prises pour trouver l'attribut de problème.

En général, la cause probable de Échec est un identificateur d'objet en double d'un attribut ou une autre différence dans les définitions d'attributs dans Active Directory et ADAM. Dans Windows Server 2003, ADSchemaAnalyzer utilise le LdapDisplayName des attributs et les classes pour comparer Active Directory et ADAM. Cela signifie que double OID peut-être manquer, et un attribut peut être vu comme un nouvel attribut si le LDapDisplayName n'existe pas dans ADAM. Dans Windows Server 2008 (Active Directory/LDS), ADSchemaAnalyzer utilise l'identificateur d'objet et signale conflits si trouvé.

Propriétés

Numéro d'article: 923835 - Dernière mise à jour: mercredi 16 juillet 2008 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Mots-clés : 
kbmt kbprb kbtshoot KB923835 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 923835
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com