Устранение ошибки OBJ_CLASS_VIOLATION Adamsync в Windows Server 2003 или Windows Server 2008

Переводы статьи Переводы статьи
Код статьи: 923835 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается устранение OBJ_CLASS_VIOLATION ошибка, возникающая при использовании средства Adamsync в Windows Server 2003 или Windows Server 2008.

Эта ошибка возникает из-за класс определения различий в службе каталогов Active Directory и в экземпляр ADAM. Чтобы устранить эту проблему, выполните действия, описанные в следующих разделах.
  • Определение атрибута и класс объекта
  • Действия для устранения этой проблемы, если атрибуты принадлежат к классу TOP
  • Действия для устранения этой проблемы, если атрибуты не принадлежат к классу TOP
Не удалось разрешить проблемы обратитесь в службу технической поддержки корпорации Майкрософт.

Проблема

При попытке синхронизации объектов Active Directory в экземпляр ADAM на компьютере под управлением Windows Server 2003 или под управлением Windows Server 2008 с помощью средства синхронизатора режим приложения Active Directory (ADAM) (Adamsync.exe). Тем не менее в файл журнала Adamsync регистрируется сообщение об ошибке, подобное приведенному ниже.
Операции обработки: Страница X, кадр X, элемент X, число X, USN X обработки записи источника <guid=f9023a23e3a06d408f07a0d51c301f38>f9023a23e3a06d408f07a0d51c301f38 запись в области обработки. Добавление целевой объект CN =</guid=f9023a23e3a06d408f07a0d51c301f38>TestGroupOU =Учетные записи:,dc=, домен,dc=COM. Добавление атрибутов: sourceobjectguid, objectClass, instanceType, displayName, информация, adminDescription, displayNamePrintable, userAccountControl, кодовая страница, countryCode, logonHours, primaryGroupID, комментарий, accountExpires, sAMAccountName, desktopProfile, legacyExchangeDN, userPrincipalName

Произошла ошибка LDAP. ldap_add_sW: нарушение класса объекта. Дополнительные сведения О: 0000207D: UpdErr: DSID-0315119D, проблема 6002 (OBJ_CLASS_VIOLATION), данные-2054643804

Причина

Данная проблема возникает из-за класс определения различий в Active Directory и ADAM. Эта разница появляется при попытке изменить объект, который необходимо включить атрибут, недопустимый для своего класса. Например атрибут не определен в схеме ADAM, или атрибут определен, но этот атрибут не присутствует в списке обязательный или необязательный атрибутов для определенного класса. Вторая ситуация обычно наиболее частые причины данной проблемы.

Определение класса для объекта, который используется для синхронизации содержит один или несколько атрибутов в Active Directory, которые недоступны в ADAM. В разделе «Добавление атрибутов» сообщения об ошибке, описанное в разделе «Проблема» отображает атрибуты, которые требуется добавить. Эти атрибуты определены в списке дополнительные или обязательные атрибуты для класса объектов, которые синхронизируются.

Например, в сообщении об ошибке, описанное в разделе «Проблема», ссылка на объект — CN = TestGroup. При просмотреCN = TestGroupобъект в Active Directory и проверьте список атрибутов данного класса и всех родительских классов, видно, что один или несколько атрибутов в этом списке не содержатся в списке обязательный или необязательный атрибутов, которые включены для данного класса, в ADAM.

Примечание.Сюда входят списки атрибутов из всех родительских классов.

Решение

Для устранения проблемы последовательно выполните приведенные ниже действия..

Определяет атрибуты и класс объекта

  1. Проверьте список атрибутов, которые добавляются в объект, который не удалось. Можно определить объект, не просматривая сообщения об ошибке в журнале синхронизации. Сбой объекта всегда является последним объектом, указанным в конце журнала синхронизации только после сообщения об ошибке. Например, в столбцеCN = TestGroupне удалось объект в сообщении об ошибке, описанное в разделе «Проблема».
  2. Определить лиDisplayNamePrintable,flags-или-ExtensionNameатрибуты, включаются в сообщение об ошибке. Если один из этих атрибутов включается в сообщение об ошибке, обратитесь к разделу «Шаги для устранения этой проблемы, если атрибуты принадлежат к классу TOP». Если сообщение об ошибке не содержит атрибуты, содержатся в разделе «Шаги для устранения проблемы, если атрибуты не принадлежат к классу TOP».

Действия для устранения этой проблемы, если атрибуты принадлежат к классу TOP

Вы увидите, что TOP класс в схеме Active Directory содержитDisplayNamePrintable,flags-или-ExtensionNameattribute:. Тем не менее эти атрибуты не содержатся в классе TOP в ADAM. Однако нельзя изменить класс TOP в ADAM. Таким образом воспользуйтесь одним из следующих методов для решения этой проблемы.
  • Исключение данных атрибутов с помощью <exclude>раздела в файле конфигурации XML.</exclude>
  • С помощью консоли MMC схемы вручную добавьте эти атрибуты в список дополнительные атрибуты для соответствующего класса схемы ADAM. Например в сообщении об ошибке, описанное в разделе «Проблема», сбой объект относится к классу группы. Таким образом необходимо добавить эти атрибуты в список дополнительные атрибуты для класса группы, в ADAM.

Действия для устранения этой проблемы, если атрибуты не принадлежат к классу TOP

  1. В ADSchemaAnalyzer в группеTools\Параметрывыберите пунктОбновить ссылки на новые и присутствуют элементыв менюСоздание LDIFTAB:.
  2. Если данный пользователь является членом домена, то при вводе имени пользователя используйте форматФайл:меню, чтобы загрузить конечную схему и ADAM в качестве основной схемы Active Directory. Подождите, пока данное средство, чтобы закончить сравнение схем.
  3. в менюСхемавыберите пунктПометить все элементы, как включенные.
  4. в менюФайл:выберите пунктСоздать файл LDIFЧтобы создать файл LDF, которая содержит изменения.

    Примечание.Если импортировать этот файл LDF непосредственно в ADAM, необходимые атрибуты будут быть скорее всего, не добавлены или изменены правильно. Кроме того сообщение об ошибке не отображается. В разделе «Почему невозможно импортировать файл LDF непосредственно в ADAM» объяснение, почему это происходит. In this case, go to step 5 without importing the LDF file.
  5. Examine the LDF file that you created in step 4. Specifically, view the class that is causing the problem. For example, view the Group class. The section for this class will contain the list of attributes that are present in the list of Mandatory or Optional attributes for this class in Active Directory but that are missing in ADAM.
  6. Find the problem attribute in the LDF file. To do this, examine the "#attributes" section in the LDF file. Attributes that are not imported remain in this section. Typically, the problem attribute is the only attribute that you find in the "#attributes" section. If you find the problem attribute, go to step 8. If you do not find the problem attribute, go to step 7.
  7. If the problem attribute is not obvious from the "#attributes" section in the LDF file, follow these steps to find the problem attribute:
    1. Currently all modifications to a class are under one section in the LDF file. This is the "#Updating Present Elements" section. Under this section, locate the section that updates the class that has the problem. For example, if the Group class is the problem, you will find a section that resembles the following:
      # 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. Change the entries that you located in step 4a by splitting the entries into a single attribute per operation. For example, change the entries in the example in step 7a by using entries that resemble the following:
      # 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. Save the LDF file.
  9. Import the LDF file into the ADAM schema by using the command that is provided at the beginning of the LDF file.
  10. View the report that is displayed by the Ldifde utility. Ldifde will now report the errors that occur with the attributes that were not imported. The error information will resemble the following sample information:
    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
    

    Примечание.Locate the problem attribute in the LDF file by viewing the line number that is indicated in the error report.
  11. Use this error information to find the problem attribute and resolve the problem. Follow these steps to try to resolve the problem:
    1. Locate the problem attribute in the LDF file by viewing the line number that is indicated in the error report. The failed attribute may have a "DUP-" prefix in the DisplayName.
    2. Note the object identifier (OID) of the attribute and look for this object identifier in ADAM.
    3. Find the attribute in ADAM that has the same object identifier.
    4. Compare the attribute in ADAM and in the LDF file to find any differences. For example, the attributes may have a different DisplayName but the same object identifier.
    5. Decide which attribute to keep, and then correct the other one. For example, you can remove the entry from the LDF file, or you can correct the ADAM attribute entry. Or, you can exclude the problem attribute from the synchronization by using the <exclude> section in the XML configuration file.</exclude>
  12. После исправления проблемы атрибута в Active Directory или в схеме ADAM или после удаления атрибута из файла LDF вновь импортируйте измененный файл LDF. Теперь операции импорта будет успешной. Если проблема не устранена, может быть другой атрибут, который вызывает неполадки. Повторите шаги с 10 до 12, импортируются все атрибуты.

Ведение журнала диагностики

Когда атрибут проблемы, может оказаться очевидная проблема с ним. Например не удается найти повторяющиеся идентификатором или другое отображаемое имя операции. Если атрибут проблемы не импортируется, можно получить дополнительные сведения об ошибке, включите журнал отладки для интерфейса LDAP. Выполните следующие действия::
  1. Для получения дополнительных сведений об ошибке Ldifde, включите ведение журнала в ADAM LDAP. Чтобы сделать это, измените значение
    Категория 16 события интерфейса LDAP
    запись реестра до 5. Эта запись реестра находится в следующем подразделе реестра:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ADAM_instanceName\Diagnostics
  2. Повторите импорт файла LDF.
  3. Просмотрите журнал событий на наличие ошибок.
  4. После завершения устранения неполадок, сбросить значение
    Категория 16 события интерфейса LDAP
    запись реестра равным 0. В противном случае в журнал событий будет переполняющее.

Обратитесь в службу поддержки

Если неполадки продолжают возникать после выполнения действия, описанные в данной статье, обратитесь в службу технической поддержки корпорации Майкрософт. Щелкните следующую ссылку для доступа к технической поддержки корпорации Майкрософт:
http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMS

Статус

Такое поведение является особенностью данного продукта..

Дополнительная информация

Чтобы синхронизировать данные из службы каталогов Active Directory в ADAM с помощью средства Adamsync, выполните следующие действия.
  1. затем –START ::, выберите пунктВсе программы, выберите пунктadamи выберите командуADAM утилиты командной строки.
  2. Введите в командной строке следующую команду и нажмите клавишу ВВОД::
    adamsync /fsимя_сервера:номер_портаconfigurationName/logимя_файла_журнала.log .
Для получения дополнительных сведений о том, как использовать средство Adamsync посетите следующий веб-узлов корпорации Майкрософт:
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

Почему не удается импортировать файл LDF непосредственно в ADAM

При импорте файла LDF, созданный на шаге 1 в разделе «Шаги для устранения этой проблемы, если атрибуты не принадлежат к классу TOP» в ADAM, эти атрибуты по-прежнему не добавляются в список атрибутов, в ADAM. Это можно проверить с помощью консоли MMC или ADSIEDIT схемы ADAM для проверки схемы. Такое поведение наблюдается, если Ldifde импорта операция завершается ошибкой без вмешательства пользователя. В настоящее время Ldifde не сообщать об ошибках. Он завершает работу из-за особенностей, ADSchemaAnalyzer создает файл LDF. Использует ADSchemaAnalyzerntdsschemaaddиntdsSchemamodifyКоманды. Эти команды включения разрешительной элемент управления LDAP. Это означает, что все ошибки, без уведомления.

Кроме того для каждого класса все атрибуты для добавления в список дополнительные атрибуты добавляются в одной операции, добавить или изменить. Таким образом если имеется проблема один из атрибутов, вся операция завершается неудачей, и не добавляются атрибуты в списке. Таким образом дополнительные действия необходимо выполнить поиск атрибута проблемы.

Как правило скорее всего, причина сбоя является повторяющийся идентификатор объекта атрибута или некоторые различия в определения атрибута в Active Directory и ADAM. В Windows Server 2003 ADSchemaAnalyzer использует LdapDisplayName атрибутов и классов для сравнения Active Directory и ADAM. Это означает, что повторяющиеся идентификаторы могут быть пропущены, а атрибут может рассматриваться как новый атрибут, если LDapDisplayName не существует в ADAM. В Windows Server 2008 (LDS и Active Directory), ADSchemaAnalyzer использует идентификатор объекта и сообщит о конфликтах, если найден.

Свойства

Код статьи: 923835 - Последний отзыв: 27 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • 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
Ключевые слова: 
kbprb kbtshoot kbmt KB923835 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:923835

Отправить отзыв

 

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