Como resolver um erro OBJ_CLASS_VIOLATION Adamsync no Windows Server 2003 ou no Windows Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 923835 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como resolver um erro OBJ_CLASS_VIOLATION que ocorre quando utiliza a ferramenta Adamsync no Windows Server 2003 ou no Windows Server 2008.

Este erro ocorre devido a diferenças de definição de classe entre o serviço de directório do Active Directory e a instância de ADAM. Para resolver este problema, siga os passos descritos nas secções seguintes:
  • Determinar o atributo e a classe do objecto
  • Passos para resolver o problema quando atributos pertencem à classe TOP
  • Passos para resolver o problema quando os atributos não pertencem à classe TOP
Contacte o suporte da Microsoft se não conseguir resolver o problema.

Sintomas

Tenta utilizar a ferramenta de Active Directory Application Mode (ADAM) Synchronizer (Adamsync.exe) para sincronizar os objectos do Active Directory para uma instância de ADAM num computador baseado no Windows Server 2003 ou Windows Server 2008. No entanto, é registada uma mensagem de erro semelhante à seguinte no ficheiro de registo Adamsync:
Processamento de entrada: X USN página X, pacotes X, entrada de X, número de X, processamento de entrada origem <guid=f9023a23e3a06d408f07a0d51c301f38> f9023a23e3a06d408f07a0d51c301f38 do processamento de entrada no âmbito. Adicionar destino objecto CN =TestGroup, OU = Accounts, dc = domain, dc = com. Adicionar atributos: sourceobjectguid, objectClass, instanceType, displayName, informações adminDescription, displayNamePrintable, userAccountControl, página de códigos, countryCode, logonHours, primaryGroupID, comentário, accountExpires, sAMAccountName, desktopProfile, legacyExchangeDN, userPrincipalName

Ocorreu o erro de LDAP. ldap_add_sW: violação de classe de objectos. Informação adicional: 0000207D: UpdErr: DSID-0315119D, problema 6002 (OBJ_CLASS_VIOLATION) dados-2054643804

Causa

Este problema ocorre devido às diferenças de definição de classe entre o Active Directory e ADAM. Esta diferença é apresentada quando tenta modificar um objecto para incluir um atributo é inválido para a respectiva classe. Por exemplo, o atributo não está definido no esquema ADAM, ou o atributo está definido mas o atributo não estiver presente na lista de atributos obrigatório ou opcional para a classe específica. Normalmente, a situação segunda é a causa mais frequente deste problema.

A definição de classe de objecto que está a sincronizar contém um ou mais atributos no Active Directory não estão disponíveis no ADAM. A secção "Adicionar atributos" da mensagem de erro mencionada na secção "Sintomas" apresenta os atributos que tenta adicionar. Estes atributos são definidos na lista de atributos obrigatórios para a classe do objecto que está a ser sincronizado ou opcional.

Por exemplo, a mensagem de erro mencionada na secção "Sintomas", o objecto de referência é NC = TestGroup. Quando visualiza o CN=TestGroup objecto no Active Directory e verifique a lista de atributos para esta classe e todos os principais classes, verá que um ou mais atributos nesta lista não na lista de atributos obrigatório ou opcional que estão activadas para esta classe no ADAM.

Nota Inclui listas de atributo de todas as classes principais.

Resolução

Para resolver este problema, siga estes passos.

Determinar a atributos e a classe do objecto

  1. Verifique a lista de atributos que estão a ser adicionado ao objecto falhou. Pode determinar o objecto que falharam visualizando a mensagem de erro no registo de sincronização. O objecto falhou sempre é o último objecto que é indicado no fim do registo de sincronização exactamente antes da mensagem de erro. Por exemplo, o CN=TestGroup objecto falhou na mensagem de erro mencionada na secção "Sintomas".
  2. Determina se os atributos DisplayNamePrintable , sinalizadores ou ExtensionName são incluídos na mensagem de erro. Se um destes atributos estiver incluído na mensagem de erro, consulte a secção "Passos para resolver o problema quando atributos pertencem à classe TOP". Se sem atributos são incluídos na mensagem de erro, consulte a secção "Passos para resolver o problema quando os atributos não pertencem à classe TOP".

Passos para resolver o problema quando atributos pertencem à classe TOP

Poderá encontrar a classe TOP no esquema do Active Directory contém o atributo DisplayNamePrintable , sinalizadores ou ExtensionName . No entanto, estes atributos não estão incluídos na classe TOP no ADAM. No entanto, não pode alterar a classe TOP no ADAM. Utilize um dos seguintes métodos, assim, para resolver o problema:
  • Exclua estes atributos utilizando a secção <exclude> no ficheiro de configuração XML.
  • Utilizando o esquema da MMC, adicionar manualmente estes atributos à lista de atributos opcionais para a classe relevante no esquema ADAM. Por exemplo, a mensagem de erro mencionada na secção "Sintomas", o objecto falha é da classe de grupo. Por conseguinte, terá de adicionar estes atributos à lista de atributos opcionais para a classe de grupo no ADAM.

Passos para resolver o problema quando os atributos não pertencem à classe TOP

  1. Em ADSchemaAnalyzer em Ferramentas \ menu Opções , clique em actualização com referências a elementos de novos e presentes no separador geração do LDIF .
  2. Utilize o menu ficheiro para carregar o Active Directory como o esquema de destino e ADAM como o esquema base. Aguarde que a ferramenta para comparar os esquemas de conclusão.
  3. No menu esquema , clique em Marcar todos os elementos conforme incluído .
  4. No menu ficheiro , clique em ficheiro LDIF criar para criar um ficheiro LDF que contém as alterações.

    Nota Se importar este ficheiro LDF directamente para o ADAM, os atributos necessários provavelmente não serão adicionados ou modificados correctamente. Além disso, não é apresentada nenhuma mensagem de erro. Consulte a secção "Por que razão não é possível importar o LDF ficheiro directamente para o ADAM" para obter uma explicação de porque é que isto ocorre. Neste caso, ir para o passo 5 sem importar o ficheiro LDF.
  5. Examine o ficheiro LDF que criou no passo 4. Especificamente, ver a classe que está a causar o problema. Por exemplo, ver a classe de grupo. A secção para esta classe vai conter a lista de atributos que estão presentes na lista de atributos obrigatório ou opcional para esta classe no Active Directory mas que estão em falta no ADAM.
  6. Localizar o atributo de problema no ficheiro LDF. Para efectuar este procedimento, examine a secção "#attributes" no ficheiro LDF. Os atributos que não são importados permanecem nesta secção. Normalmente, o atributo de problema é o único atributo encontrar na secção "#attributes". Se encontrar o atributo de problema, avance para o passo 8. Se não encontrar o atributo de problema, avance para o passo 7.
  7. Se o atributo de problema não é óbvio da secção "#attributes" no ficheiro LDF, siga estes passos para localizar o atributo de problema:
    1. Actualmente todas as modificações a uma classe são numa secção no ficheiro LDF. Esta é a secção "#Updating elementos actual". Nesta secção, localize a secção que actualiza a classe com o problema. Por exemplo, se a classe de grupo é o problema, encontrará uma secção semelhante à seguinte: 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. Altere as entradas que localizou no passo 4a dividindo as entradas para um único atributo por operação. Por exemplo, alterar as entradas no exemplo passo 7a utilizando entradas semelhantes aos seguintes:
      # 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 o ficheiro LDF.
  9. Importe o ficheiro LDF para o esquema do ADAM utilizando o comando é fornecido no início do ficheiro LDF.
  10. Ver o relatório que é apresentado pelo utilitário Ldifde. LDIFDE agora irá comunicar os erros que ocorrem com os atributos que não foram importados. As informações de erro serão semelhante as seguintes informações de exemplo:
    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 Localize o atributo de problema do ficheiro LDF visualizando o número de linha que é indicado no relatório de erros.
  11. Utilize estas informações de erro para localizar o atributo de problema e resolver o problema. Siga estes passos para tentar resolver o problema:
    1. Localize o atributo de problema do ficheiro LDF visualizando o número de linha que é indicado no relatório de erros. O atributo falhado poderá ter um prefixo "DUP-" no DisplayName.
    2. Anote o identificador de objecto (OID) do atributo e procurar este identificador de objecto no ADAM.
    3. Encontra o atributo no ADAM que tenha o mesmo identificador de objecto.
    4. Compare o atributo no ADAM e no ficheiro LDF para localizar quaisquer diferenças. Por exemplo, os atributos podem ter um DisplayName diferente mas o mesmo identificador de objecto.
    5. Decidir qual atributo para manter e, em seguida, corrija outro um. Por exemplo, pode remover a entrada do ficheiro LDF ou pode corrigir a entrada de atributo ADAM. Ou, pode excluir o atributo de problema da sincronização utilizando a secção <exclude> no ficheiro de configuração XML.
  12. Depois do atributo de problema é corrigido no Active Directory ou no esquema ADAM ou após o atributo do ficheiro LDF, importe novamente o ficheiro LDF modificado. Agora a operação de importação deverá ser efectuada com êxito. Se o problema não ficar resolvido, poderá existir outro atributo que está a causar o problema. Repita os passos 10 a 12 até todos os atributos são importados.

Registo de diagnóstico

Quando encontrar o atributo de problema, poderá não ser óbvio que está errado com o mesmo. Por exemplo, poderá não encontrar um identificador de objecto duplicado ou uma entrada de DisplayName diferente. Quando um atributo de problema não é importado, pode obter mais informações sobre a falha, activando o registo de depuração para a interface LDAP. Para o fazer, siga estes passos:
  1. Para obter mais informações sobre a falha de Ldifde, Active LDAP iniciar sessão no ADAM. Para o fazer, altere o valor da entrada de registo
    Category 16 LDAP Interface events
    para 5. Esta entrada de registo está localizada na seguinte subchave de registo:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ADAM_instanceName\Diagnostics
  2. Importe o ficheiro LDF novamente.
  3. Procure no registo de eventos para erros.
  4. Quando terminar a resolução de problemas, reponha o valor da entrada de registo
    Category 16 LDAP Interface events
    para 0. Caso contrário, o registo de eventos serão propagado.

Contacte o suporte técnico da Microsoft

Se o problema não ficar resolvido depois de concluir os passos descritos neste artigo, contacte o suporte da Microsoft. Clique na hiperligação seguinte para acesso de suporte da Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Para sincronizar dados do Active Directory para o ADAM, utilizando a ferramenta Adamsync, siga estes passos:
  1. Clique em Iniciar , aponte para Todos os programas , aponte para o ADAM e, em seguida, clique em ADAM ferramentas Command Prompt .
  2. Na linha de comandos, escreva o seguinte comando e, em seguida, prima ENTER:
    adamsync/FS Server_Name: port_number configurationName /log log_file_name .log
Para obter mais informações sobre como utilizar a ferramenta Adamsync, visite os seguintes Web sites da 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 que razão não é possível importar o ficheiro LDF directamente ADAM

Se importar o ficheiro LDF que criou no passo 1 na secção "Passos para resolver o problema quando os atributos não pertencem à classe TOP" para o ADAM, estes atributos ainda não são adicionados à lista de atributos no ADAM. Pode verificar este comportamento, utilizando o esquema do ADAM MMC ou o ADSIEDIT para examinar o esquema. Este comportamento ocorre porque o Ldifde importar operação falha silenciosamente. Actualmente, o Ldifde não comunica erros. Falha silenciosamente devido à forma como ADSchemaAnalyzer constrói o ficheiro LDF. ADSchemaAnalyzer utiliza os comandos ntdsschemaadd e ntdsSchemamodify . Estes comandos activar controlo LDAP permissiva. Isto significa que qualquer falha é silenciosa.

Além disso, para cada classe, são adicionados todos os atributos a ser adicionado à lista de atributos opcional numa só operação Adicionar/modificar. Por este motivo, se existir um problema adicionando um dos atributos, toda a operação falha e sem atributos na lista são adicionados. Por este motivo, devem ser interpretados passos adicionais para localizar o atributo de problema.

Normalmente, a razão provável da falha é um identificador de objecto duplicado de um atributo ou alguns outra diferença nas definições atributo no Active Directory e ADAM. No Windows Server 2003, ADSchemaAnalyzer utiliza LdapDisplayName dos atributos e classes para comparar o Active Directory e ADAM. Isto significa que duplicam OID, Object Identifier poderá ser perdeu e um atributo pode ser visto como um novo atributo se o LDapDisplayName não existe no ADAM. No Windows Server 2008 (Active Directory/LDS), ADSchemaAnalyzer utiliza o identificador de objecto e comunicará conflitos se encontrar.

Propriedades

Artigo: 923835 - Última revisão: 16 de julho de 2008 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Palavras-chave: 
kbmt kbprb kbtshoot KB923835 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 923835

Submeter comentários

 

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