Как импортировать в ADAM / AD LDS – Указанный тип экземпляра недействителен

Вопрос или проблема

Мне сложно импортировать файл LDIF в ADAM/AD LDS, и ошибка ниже (тип экземпляра недействителен).

Я проверил и восстановился от ошибок, связанных с

  • Импортируемый файл в ASCII, UTF8, ANSI
  • Недействительные свойства в импортируемом файле (внутренние объекты MS для репликации)
  • В AD имя контейнера пользователей — это CN, в ADAM — “OU”
  • Изменил класс тестового объекта с contact на user в maker.ldf
  • разные ошибки…

Моя общая цель — переместить данные сертификатов из ADDS в AD LDS и представить эту копию LDS в режиме чтения всему миру.

Теперь я натолкнулся на стену и застрял, не в состоянии импортировать сертификат в экземпляр. Чтобы убедиться, что я делаю всё логично правильно, я выполняю экспорт и импорт, как показано ниже.

Вопрос

  • Как импортировать данные, как показано в образце импорта?

Образец ЭКСПОРТА

Командная строка

PS C:\test> ldifde -f .\test.ldf -v -s 127.0.0.1 -d "DC= FreeSMIME, DC=COM"
Подключение к "127.0.0.1"
Вход в систему как текущий пользователь с использованием SSPI
Экспорт каталога в файл .\maker.ldf
Поиск записей...
Запись записей
 .... SNIP ... 
Экспорт записи: CN=test12,OU=Users,DC=FreeSMIME,DC=com

9 записей экспортировано

Содержимое test.ldf

dn: CN=test12,OU=Users,DC=FreeSMIME,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: test12
distinguishedName: CN=test12,OU=Users,DC=FreeSMIME,DC=com
instanceType: 4
whenCreated: 20140706175425.0Z
whenChanged: 20140706175425.0Z
uSNCreated: 13981
uSNChanged: 13981
name: test12
objectGUID:: FGuCH4ep+0yvXyXIGZnw6Q==
badPwdCount: 0
badPasswordTime: 0
pwdLastSet: 130491428650358040
objectSid:: AQUAAB/DvlvT9kQDKv5c3yyu4EqPUic3jHkmDg==
objectCategory: 
 CN=Person,CN=Schema,CN=Configuration,CN={EBB3EB07-5375-4D67-B774-42E7D82935A8}
dSCorePropagationData: 16010101000000.0Z
msDS-UserAccountDisabled: TRUE

Образец ИМПОРТА

Командная строка

PS C:\test> ldifde -i -k -f .\maker.ldf -v -s 127.0.0.1 Подключение к
“127.0.0.1” Вход в систему как текущий пользователь с использованием SSPI Импорт каталога
из файла “.\maker.ldf” Загружаю записи 1: DC=FreeSMIME,DC=com

Ошибка добавления записи, начинающейся с строки 1: Не желает выполнять Ошибка на стороне сервера: 0x2079 Указанный тип экземпляра недействителен. Расширенная ошибка сервера: 00002079: SvcErr: DSID-033309B0, проблема 5003 (WILL_NOT_PERFORM), данные 0

0 записей успешно изменено. Произошла ошибка в программе Файлы журналов не были записаны. Чтобы сгенерировать файл журнала, пожалуйста, укажите путь к файлу журнала с помощью опции -j.

Содержимое maker.ldf

dn: [email protected],OU=Users,DC=FreeSMIME,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: [email protected]
userCertificate:: 
 MIIFUTCCBDmgAwIBAgITHwAAADzW+zggKBd9dQABAAAAPDANBgkqhkiG9w0BAQUFADB0MQswCQYDVQ
 QGEwJ1czEVMBMGA1UEChMMQml0Y2xlYXIgTExDMRYwFAYDVQQLEw1FbWFpbCBQcml2YWN5MRYwFAYD
 VQQDEw1GcmVlU01JTUUuY29tMR4wHAYDVQQDExVTZWN1cmUgSXNzdWVyIDAxYS0wMDEwHhcNMTQwNz
 A2MDQyNDQyWhcNMTUwMTAyMDQyNDQyWjCBgzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5ZMQwwCgYD
 VQQHEwNOWUMxEzARBgNVBAsTClRlY2hub2xvZ3kxHjAcBgNVBAMMFW1ha2Vyb2Z0aGluZ3M3QG1lLm
 NvbTEkMCIGCSqGSIb3DQEJARYVbWFrZXJvZnRoaW5nczdAbWUuY29tMIIBIjANBgkqhkiG9w0BAQEF
 AAOCAQ8AMIIBCgKCAQEAymz3YPRVAE2i1X7XmmrBk+SmsH1FAyYEhNkKpDn6R+1Za8n5OC4UseQwCs
 HoM/PtZ50JYViPW1+qBykehkH4LylCkp5OIjZbodedcIL+ucDHh1PITNChp8C5fQWYmfiUofWF8ztA
 yGJNriy9VO30JFq9xexnif7i04kxdd151/BjOW5FEGOrpZJajoLkQycfbtdexxrKvGbSNsZZ4dwKVy
 uxRcXXwgT9p8wa51uMGMBdpFsKTRkmFl8nvx1zRdcGfl7CkKLCRmZkoCPP+vgyqGUtO+bYxSP6vc0t
 hZ7efXOkoDQWMfj/EHcKGWJgGm4B+l4SG9Pfkujr+Miw1CxHvwIDAQABo4IByjCCAcYwPQYJKwYBBA
 GCNxUHBDAwLgYmKwYBBAGCNxUIgq30IYfppWqGlZ8EhYL3L4GCyxkhhZLlIIb5vHACAWQCAQ4wEwYD
 VR0lBAwwCgYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgUgMBsGCSsGAQQBgjcVCgQOMAwwCgYIKwYBBQ
 UHAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAcGBSsO
 AwIHMAoGCCqGSIb3DQMHMB0GA1UdDgQWBBSruXcob9eIxbsorVGMF6m+w7LACTAfBgNVHSMEGDAWgB
 TaxAaP6+QX4fmgA8d0h36ZY/fwRjBNBgNVHR8ERjBEMEKgQKA+hjxodHRwOi8vcGtpLmJpdGNsZWFy
 LnVzL2kwMWEvU2VjdXJlJTIwSXNzdWVyJTIwMDFhLTAwMSgxKS5jcmwwbgYIKwYBBQUHAQEEYjBgMF
 4GCCsGAQUFBzAChlJodHRwOi8vcGtpLmJpdGNsZWFyLnVzL2kwMWEvYS5Jc3N1ZTAxLmJpdGNsZWFy
 LnVzX1NlY3VyZSUyMElzc3VlciUyMDAxYS0wMDEoMSkuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQA/6K
 tRc0Nq5hdJouyTMNMUju+DW2Px2gVfAx6h7UWdG76FVJ14CuTCuS0zLngmO102eeTo9//ZOKE5UcdP
 JmlegIam0ne8uNELInIY8HancU5fW34O+Jxa/ZqOMzXiHyKwTC4dwBsgP0TjHQsnYzSIAM/pB7fpBw
 FYUeqcz3XmsjbasQazCotCuAXIIPaqW2hC7KbEXDCaCdLAWWQ8erd+CeNmmclP5GXi2ZvxVDOW8l/F
 nGRQSrMTkZz4Rc2jS9w6VlGBMR+GXPQ9rJmxSl89WLATsejYFbDwbM5nKGJfpTZVf1SYnKGb9ficVu
 eHeuwv1fGAV4s9zHSCsk33EElS
distinguishedName: 
 [email protected],CN=Users,DC=FreeSMIME,DC=com
instanceType: 4
name: [email protected] 
objectCategory: 
 CN=Person,CN=Schema,CN=Configuration,DC=FreeSMIME,DC=com
mail: [email protected]

Мне удалось исправить файл импорта, удалив строку:

objectCategory: 
 CN=Person,CN=Schema,CN=Configuration,DC=FreeSMIME,DC=com

Ответ или решение

Как импортировать данные в ADAM / AD LDS и устранить ошибку "The specified instance type is invalid"

Импорт LDIF-файлов в Active Directory Application Mode (ADAM) или Active Directory Lightweight Directory Services (AD LDS) может вызвать ряд трудностей, одна из которых — это ошибка "The specified instance type is invalid". Давайте рассмотрим проблему более подробно и обсудим решения.

Причины ошибки

Ошибка 0x2079 The specified instance type is not valid обычно возникает по нескольким причинам, связанным с настройками и содержимым LDIF-файла, который вы пытаетесь импортировать. Ниже приведены основные причины этой ошибки и рекомендации по их устранению:

  1. Некорректные значения полей:

    • Для AD LDS не используется свойство instanceType, как это делается в Active Directory (AD). Ваша попытка импортировать его в AD LDS может привести к ошибке, поскольку эта служба не распознает это свойство.
  2. Объектные категории и классы:

    • Убедитесь, что классы объектов в LDIF-файле совместимы с схемой AD LDS. Например, классы user и person могут не поддерживаться в AD LDS, если они не определены в вашей схеме.
  3. Удаление проблемных строк:

    • Как вы уже сделали, удалите строку с objectCategory, так как данный атрибут также может быть несовместим с AD LDS.
  4. Структура DN:

    • Убедитесь, что distinguishedName (DN) правильно сформирован для вашего экземпляра AD LDS. Например, в AD LDS может потребоваться использовать OUs вместо CN для контейнеров.

Рекомендации по импорту LDIF файлов

Вот подробное руководство по правильному импорту LDIF-файлов.

Шаг 1: Подготовка LDIF-файла

Перед импортом важно убедиться, что ваш LDIF-файл скорректирован. Ниже представлен пример исправленного LDIF-файла.

dn: CN=test12,OU=Users,DC=FreeSMIME,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: test12
distinguishedName: CN=test12,OU=Users,DC=FreeSMIME,DC=com
name: test12
mail: test12@freesmime.com
  • Удалите ненужные атрибуты (instanceType, objectSid, whenCreated, whenChanged, и т.д.), которые могут вызвать проблемы, если они не поддерживаются AD LDS.
  • Убедитесь, что для каждого объекта установлены только необходимые атрибуты.
Шаг 2: Выполнение команды импорта

Для импорта исправленного LDIF-файла выполните следующую команду в PowerShell:

ldifde -i -f maker.ldf -s 127.0.0.1 -k -v
Шаг 3: Проверка ошибок

Если возникают дополнительные ошибки в процессе импорта, внимательно изучите предоставленные сообщения. Используйте переключатель -j <path> для создания лог-файлов, что поможет уточнить, где именно возникают сбои. Например:

ldifde -i -f maker.ldf -s 127.0.0.1 -k -v -j C:\Logs
Шаг 4: Проверка результата

После импорта проверьте, был ли импорт завершён успешно, проверить это можно с помощью команды:

Get-ADUser -Filter {Name -eq "test12"} -Server 127.0.0.1

Если ошибка не исчезает, возможно, стоит дополнительно взглянуть на схему, чтобы убедиться, что все классы объектов корректно определены.

Заключение

Импорт данных из AD DS в AD LDS может служить выгодным решением для управления данными. Устранение ошибки "The specified instance type is invalid" в первую очередь требует тщательной подготовки LDIF-файла, чтобы обеспечить совместимость с AD LDS. Если следовать шагам выше и учитывать особенности вашей реализации AD LDS, импорт должен успешно пройти.

Если у вас возникнут дополнительные вопросы или нужна дальнейшая помощь, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...