Cómo solucionar un error OBJ_CLASS_VIOLATION en Adamsync en Windows Server 2003 o en Windows Server 2008

Seleccione idioma Seleccione idioma
Id. de artículo: 923835 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

en este artículo describe cómo solucionar un error OBJ_CLASS_VIOLATION que se produce cuando se utiliza la herramienta Adamsync en Windows Server 2003 o en Windows Server 2008.

Este error se produce debido a diferencias de definición de clase entre el servicio de directorio de Active Directory y la instancia de ADAM. Para solucionar este problema, siga los pasos que se describen en las secciones siguientes:
  • Determinar el atributo y la clase del objeto
  • Pasos para resolver el problema cuando atributos pertenecen a la clase TOP
  • Pasos para resolver el problema cuando los atributos no pertenecen a la clase TOP
ENTRAR en contacto con soporte técnico de Microsoft si se no puede resolver el problema.

Síntomas

Intenta utilizar la herramienta de Active Directory Application Mode (ADAM) Sincronizador (Adamsync.exe) para sincronizar objetos de Active Directory a una instancia de ADAM en un equipo Windows Server 2003 o Windows Server 2008. Sin embargo, se registrará un mensaje de error similar al siguiente en el archivo de registro Adamsync:
Entrada de procesamiento: X página X, X de marco X, X de entrada, cuenta, USN procesamiento <guid=f9023a23e3a06d408f07a0d51c301f38> f9023a23e3a06d408f07a0d51c301f38 de entrada en el ámbito de procesamiento de entrada de origen. Agregar destino el objeto CN =TestGroup, OU = Accounts, dc = domain, dc = com. Adición de atributos: sourceobjectguid, objectClass, instanceType, displayName, información, adminDescription, displayNamePrintable, userAccountControl, codePage, countryCode, logonHours, primaryGroupID, comentario, accountExpires, sAMAccountName, desktopProfile, legacyExchangeDN, userPrincipalName

Error de LDAP. ldap_add_sW: infracción de clase de objeto. Información extendida: 0000207D: UpdErr: DSID-0315119D, problema 6002 (OBJ_CLASS_VIOLATION), datos-2054643804

Causa

Este problema se produce debido a las diferencias de definición de clase entre Active Directory y ADAM. Esta diferencia aparece cuando intenta modificar un objeto para incluir un atributo que no es válido para su clase. Por ejemplo, el atributo no está definido en el esquema de ADAM en absoluto, o el atributo está definido pero el atributo no está presente en la lista de atributos obligatorio u opcional para la clase específica. Normalmente, la segunda situación es la causa más frecuente de este problema.

La definición de clase del objeto que se sincronizarán contiene uno o más atributos en Active Directory que no están disponibles en ADAM. La sección "Agregar atributos" de la mensaje de error que se menciona en la sección "Síntomas" muestra los atributos que intenta agregar. Estos atributos se definen en la lista de Optional o atributos obligatorios para la clase del objeto que se está sincronizando.

Por ejemplo, en mensaje de error que se menciona en la sección "Síntomas", el objeto de referencia es CN = TestGroup. Cuando ve el CN=TestGroup objeto en Active Directory y comprobar la lista de atributos para esta clase y primario todas las clases, comprueba que uno o varios atributos en esta lista no están en la lista de atributos obligatorio u opcional que están habilitados para esta clase en ADAM.

Nota Esto incluye listas de atributo de todas las clases principal.

Solución

Para resolver este problema, siga estos pasos.

Determinar los atributos y la clase del objeto

  1. Compruebe la lista de atributos agregados al objeto error. Puede determinar el objeto que no viendo el mensaje de error en el registro de sincronización. El objeto error es siempre el último objeto que indica el final del registro de sincronización exactamente antes el mensaje de error. Por ejemplo, el CN=TestGroup error de objeto en el mensaje de error que se menciona en la sección "Síntomas".
  2. Determinar si los atributos DisplayNamePrintable , indicadores o nombreExtensión están incluidos en el mensaje de error. Si uno de estos atributos se incluye en el mensaje de error, consulte la sección "Pasos para resolver el problema cuando atributos pertenecen a la clase TOP". Si no hay atributos se incluyen en el mensaje de error, consulte la sección "Pasos para resolver el problema cuando los atributos no pertenecen a la clase TOP".

Pasos para resolver el problema cuando atributos pertenecen a la clase TOP

Encontrará que la clase TOP en el esquema de Active Directory contiene el atributo DisplayNamePrintable , indicadores o nombreExtensión . Sin embargo, estos atributos no están contenidos en la clase TOP en ADAM. Sin embargo, no se puede cambiar la clase TOP en ADAM. Por lo tanto, utilice uno de los métodos siguientes para resolver el problema:
  • Excluir estos atributos utilizando la sección <exclude> en el archivo de configuración XML.
  • Mediante el esquema MMC, agregar manualmente estos atributos a la lista de atributos opcionales para la clase correspondiente en el esquema de ADAM. Por ejemplo, en mensaje de error que se menciona en la sección "Síntomas", el objeto de error es de la clase Group. Por lo tanto, debe agregar estos atributos a la lista de atributos opcional para la clase Group en ADAM.

Pasos para resolver el problema cuando los atributos no pertenecen a la clase TOP

  1. En ADSchemaAnalyzer en las Herramientas \ menú Opciones , haga clic en Update con referencias a elementos nuevos y presentes en la ficha generación del LDIF .
  2. Utilice el menú archivo para cargar Active Directory como el esquema de destino y ADAM como el esquema base. Espere a que la herramienta a fin de comparar los esquemas.
  3. En el menú esquema , haga clic en Marcar todos los elementos como incluido .
  4. En el menú archivo , haga clic en el archivo LDIF crear para crear un archivo LDF que contiene los cambios.

    Nota Si importa este archivo LDF directamente a ADAM, los atributos necesarios se probablemente no agregados o modificados correctamente. Además, no se muestra ningún mensaje de error. Consulte la sección "¿por qué no puede importar el archivo LDF directamente a ADAM" para obtener una explicación de por qué esto ocurre. En este caso, vaya al paso 5 sin importar el archivo LDF.
  5. Examine el archivo LDF que creó en el paso 4. En concreto, vea la clase que está causando el problema. Por ejemplo, ver la clase Group. La sección de esta clase contendrá la lista de atributos que están presentes en la lista de atributos obligatorio u opcional para esta clase en Active Directory pero que faltan en ADAM.
  6. Encontrar el atributo problema en el archivo LDF. Para ello, examine la sección "#attributes" el archivo LDF. Atributos que no se importan permanecen en esta sección. Normalmente, el atributo de problema es el único atributo que encontrará en la sección "#attributes". Si encuentra el atributo de problema, vaya al paso 8. Si no encuentra el atributo de problema, vaya al paso 7.
  7. Si el atributo problema no es evidente en la sección "#attributes" en el archivo LDF, siga estos pasos para buscar el atributo problema:
    1. Actualmente, todas las modificaciones a una clase son bajo una sección del archivo LDF. Esta es la sección "#Updating presentes elementos". En esta sección, busque la sección que actualiza la clase que tiene el problema. Por ejemplo, la clase Group es el problema, encontrará una sección similar al siguiente: elemento
      # 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
      
    2. Cambiar las entradas que encontró en el paso 4a dividiendo las entradas en un solo atributo por operación. Por ejemplo, cambiar las entradas en el ejemplo de paso 7a mediante entradas similares a los siguientes: elemento
      # 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
      
  8. Guarde el archivo LDF.
  9. Importar el archivo LDF el esquema de ADAM mediante el comando que se proporciona al principio del archivo LDF.
  10. Ver el informe que aparece en la utilidad Ldifde. LDIFDE ahora informará de los errores que ocurren con los atributos que no se importaron. La información de error será similar a la siguiente información de ejemplo:
    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
    

    Nota Busque el atributo del problema en el archivo LDF viendo el número de línea que se indica en el informe de errores.
  11. Utilice esta información de error para buscar el atributo de problema y resolver el problema. Siga estos pasos para intentar resolver el problema:
    1. Busque el atributo del problema en el archivo LDF viendo el número de línea que se indica en el informe de errores. El atributo puede tener un prefijo "DUP-" en la propiedad DisplayName.
    2. Nota el identificador de objeto (OID) del atributo y buscar este identificador de objeto en ADAM.
    3. Buscar el atributo de ADAM que tiene el mismo identificador de objeto.
    4. Compare el atributo en ADAM y en el archivo LDF para buscar las diferencias. Por ejemplo, los atributos pueden tener un DisplayName diferente pero el mismo identificador de objeto.
    5. Decidir qué atributo para mantener y, a continuación, corrija otro. Por ejemplo, puede quitar la entrada desde el archivo LDF, o puede corregir la entrada de atributo de ADAM. O bien, puede excluir el atributo de problema de la sincronización utilizando la sección de <exclude> en el archivo de configuración XML.
  12. Después de que el atributo de problema se corrige en Active Directory o en el esquema de ADAM o después de quita el atributo del archivo LDF, importar de nuevo el archivo LDF modificado. Ahora la operación de importación debe ser correcta. Si no se ha resuelto el problema, puede ser otro atributo que está causando el problema. Repita los pasos 10 a 12 hasta que se importan todos los atributos.

Registro de diagnósticos

Cuando encuentre el atributo de problema, que no sea obvio qué es incorrecto con él. Por ejemplo, quizá no encuentre un identificador de objeto duplicado o una entrada DisplayName diferente. Cuando no se importa un atributo de problema, puede obtener más información acerca del error al activar registro de depuración de la interfaz LDAP. Para ello, siga estos pasos:
  1. Para obtener más información acerca del error de LDIFDE, activar LDAP ADAM de inicio de sesión. Para ello, cambie el valor de la entrada de registro de
    Category 16 LDAP Interface events
    a 5. Esta entrada del registro se encuentra bajo la subclave del Registro siguiente:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ADAM_instanceName\Diagnostics
  2. Importe de nuevo el archivo LDF.
  3. Examine el registro de eventos para errores.
  4. Cuando termine de solución de problemas, restablece el valor de la entrada de registro de
    Category 16 LDAP Interface events
    a 0. En caso contrario, el registro de sucesos será difunden.

Póngase en contacto con el soporte técnico de Microsoft

Si el problema no se resuelve después de completar los pasos en este artículo, póngase en contacto con soporte técnico de Microsoft. Haga clic en el vínculo siguiente para tener acceso a soporte técnico de Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Estado

Este comportamiento es por diseño.

Más información

Para sincronizar datos de Active Directory a ADAM mediante la herramienta Adamsync, siga estos pasos:
  1. Haga clic en Inicio , seleccione Todos los programas , elija a ADAM y a continuación, haga clic en ADAM herramientas .
  2. En el símbolo del sistema, escriba el comando siguiente y presione ENTRAR:
    adamsync /fs Server_Name: port_number configurationName /log log_file_name .log
Para obtener más información acerca de cómo utilizar la herramienta Adamsync, visite los siguientes sitios Web de Microsoft:
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

¿Por qué no puede importar el archivo LDF directamente a ADAM

Si importa el archivo LDF que creó en el paso 1 en la sección "Pasos para resolver el problema cuando los atributos no pertenecen a la clase TOP" en ADAM, estos atributos aún no se agregan a la lista de atributo de ADAM. Este comportamiento se puede comprobar mediante el esquema de ADAM MMC o ADSIEDIT para examinar el esquema. Este comportamiento se produce porque el LDIFDE importar operación produce un error silenciosamente. Actualmente, LDIFDE no informa de errores. Lo silenciosamente falla debido de la forma en que ADSchemaAnalyzer crea el archivo LDF. ADSchemaAnalyzer utiliza los comandos ntdsschemaadd y ntdsSchemamodify . Estos comandos activar control permisiva de LDAP. Esto significa que cualquier error es silencioso.

Además, para cada clase, se agregan todos los atributos que se agregará en la lista de atributos opcional en una operación de agregar o modificar. Por lo tanto, si hay un problema agregar uno de los atributos, la operación completa produce un error y no se agregan atributos en la lista. Por lo tanto, deben realizarse pasos adicionales para buscar el atributo de problema.

Normalmente, la razón probable del error es un identificador de objeto duplicado de un atributo o alguna otra diferencia de las definiciones de atributo en Active Directory y ADAM. En Windows Server 2003, ADSchemaAnalyzer utiliza LdapDisplayName de atributos y clases para comparar Active Directory y ADAM. Esto significa que duplicar OID que puede pasarse y un atributo puede verse como un nuevo atributo si no existe el LDapDisplayName en ADAM. En Windows Server 2008 (Active Directory/LDS), utiliza el identificador de objeto ADSchemaAnalyzer e informará conflictos si se encuentra.

Propiedades

Id. de artículo: 923835 - Última revisión: miércoles, 16 de julio de 2008 - Versión: 2.0
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbmt kbprb kbtshoot KB923835 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 923835

Enviar comentarios

 

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