Назад | Перейти на главную страницу

Как устранить ошибки LDIFDE, когда «последний токен начинается с буквы« C »» и «в записи изменения-модификации отсутствует терминатор« - »», когда ..?

Как мне устранить ошибки LDIFDE, связанные с тем, что «последний токен начинается с символа« C »» и «в записи изменения-изменения отсутствует терминатор« - »» при попытке связать существующих пользователей с выходящими из групп безопасности (миграция домена)?

Выполняю это:

C:\Users\Administrator\Downloads\ldif_files>ldifde -i -k -f test.ldf -v -j "C:\Users\Administrator\Downloads\ldif_files"
Connecting to "dc1.company.local"
Logging in as current user using SSPI
Importing directory from file "test.ldf"
Loading entries

There is a syntax error in the input file
Failed on line 6.  The last token starts with 'C'.
The change-modify entry is missing the terminator '-'.
0 entries modified successfully.
An error has occurred in the program

C:\Users\Administrator\Downloads\ldif_files>

test.ldf это:

dn: CN=PrinterAdmins,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
add: member
objectClass: top
objectClass: group
member: CN=John Doe,OU=Track-It!,OU=Admins,OU=CMPNY,DC=company,DC=local

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

Подразделения, группа безопасности и пользователь существуют. Да хоть убей, я не могу этого понять. Я успешно импортировал структуру OU из домена oldcompany.com, использовал Notepad ++ для удаления определенного символа пробела / ввода, а также для замены dc = oldcompany, dc = com на dc = company, dc = local, импортировано пользователи, импортировавшие группы безопасности - все успешно .. осталось только импортировать часть членства в каждую группу (привязать пользователей к их группам).

Пожалуйста помоги. :(

Что я делаю / пытаюсь сделать / уже сделал? У меня примерно 700 групп, в которые мне нужно объединить несколько сотен пользователей. Импорт структуры OU, затем пользователей и [пустых] групп был успешным. Осталось только объединить пользователей в их группы. Переход со старого домена "company.com" (с DC 2003 г.) на "company.local" на новом DC 2012 г. Хотите избежать необходимости вручную добавлять пользователей через все 700 групп (потому что у меня есть отчет Excel, в котором указывается член каждой группы / членом какой группы является каждый пользователь).

РЕДАКТИРОВАТЬ: РЕШЕНИЕ!

Вот что мне нужно было сделать, чтобы он заработал:

Итак, чтобы импортировать пользователей, группы безопасности и членство в группах с company.com на company.local, мне пришлось сделать вот что:

  1. Экспорт структуры OU с company.com; на сайте company.com у нас было подразделение «CMPNY» в корне домена, когда вы используете Пользователи и компьютеры Active Directory содержащие все (группы безопасности, пользователей, OU, GPO и т. д.)
    • Выполнить ldifde -f экспорт.ldf -s srvADdc1 -t 3268 -d "OU = CMPNY, DC = company, DC = com" -p subtree -r "(objectCategory = organizationUnit)" -l "cn, objectclass, ou" на любой машине, подключенной к старому домену AD company.com; он будет подключаться к srvADdc1 (контроллер домена) для поиска и экспорта из
  2. Экспорт пользователей с company.com
    • Выполнить difde -f экспортПользователи.ldf -s srvADdc1 -t 3268 -d "OU = CMPNY, DC = company, DC = com" -p subtree -r "(& (objectCategory = Person) (objectClass = user))" -l "cn, displayName, visibleName, name, objectCategory , objectClass, sAMAccountName "
  3. Экспорт групп с сайта company.com БЕЗ участников (как и просто пустые группы безопасности)
    • Выполнить ldifde -f exportGroupsEmpty.ldf -s srvADdc1 -t 3268 -d "OU = CMPNY, DC = company, DC = com" -p subtree -r "(& (objectCategory = group) (objectClass = group))" -l "cn, name, sAMAccountName, grouptype, objectclass "
  4. Экспорт групп с сайта company.com С участниками (содержит минимум информации для определения того, какие объекты пользователей являются членами какой группы)
    • Выполнить ldifde -f exportGroupsMembers.ldf -s srvADdc1 -t 3268 -d "OU = CMPNY, DC = company, DC = com" -p subtree -r "(& (ObjectCategory = group) (objectClass = group) (name =) (член =)) "-l" член "
  5. Импорт остова OU старого домена company.com в новый домен company.local; мы используем другую структуру скелета OU в company.local (без «CMPNY» OU в корневом каталоге), поэтому этот скелет OU, который мы импортируем, используется только для импорта старых данных, и после того, как мы импортируем все, мы можем переименовать / очистить / удалить что угодно, а затем переместить и расположить импортированные объекты в соответствии с нашим новым / другим стандартом структуры скелета OU, который мы решили использовать в нашем новом домене company.local
    • Изменить exportOUs.ldf через Notepad ++ (мои личные предпочтения), найдите DC = com и замените все на DC = местный, и сохраните файл
    • Выполнить ldifde -i -k -f экспорт.ldf -v -j "C: \"; вы можете изменить путь для значения параметра -j или удалить -j "C: \" полностью - все, что он делает, это записывает любые ошибки в файл
  6. Импортировать пользователей из company.com в company.local
    • Изменить exportUsers.ldf через Notepad ++ найдите DC = com и замените все на DC = местный, и сохраните файл
    • Выполнить ldifde -i -k -f экспортПользователи.ldf -v -j "C: \"
  7. Импортировать пустые оболочки [Security] Group из company.com в company.local
    • Изменить exportGroupsEmpty.ldf через Notepad ++ найдите DC = com и замените все на DC = местный, и сохраните файл
    • Выполнить ldifde -i -k -f exportGroupsEmpty.ldf -v -j "C: \"
  8. Импортируйте парное членство между пользователями и группами с company.com на company.local
    • открыто exportGroupsMembers.ldf через Блокнот ++
      • Очень внимательно изучите содержимое этого файла; обратите внимание, как один элемент разбивается на несколько строк (например, если кто-то решил нажать клавишу ENTER на 1/3 пути по строке) - они обычно должны быть в одной строке, а не переполняться на несколько строк
      • Первым делом необходимо исправить проблему переполнения нескольких строк. Сделать это, выберите все символьные данные между двумя строками, которые необходимо удалить, чтобы исправить это (только для одного экземпляра), и `` заменить все '' буквально ничем
      • Найдите dc = com и замените все на dc = local
      • Замените все пустые строки двумя строками: первая должна быть односимвольной, а вторая - пустой строкой; вы можете сделать это, выбрав это пространство и заменив все на \ r \ n- \ r \ n \ r \ n с расширенным режимом поиска в Notepad ++
      • Убедитесь, что первая строка файла - это пустая пустая строка (без пробелов, только пустая строка) перед первой строкой «dn:» (для первой группы).
      • Убедитесь, что предпоследняя строка файла - это строка, за которой следует пустая строка (как последняя строка).
    • Найдите "changetype: add" и замените все на changetype: изменить \ r \ nadd: member (в основном это меняет 'добавить' на 'изменить' и создает новую строку под этим словом "добавить: член")
    • Выполнить ldifde -i -k -f exportGroupsMembers.ldf -v -j "C: \"

Пример exportGroupsMembers.ldf (в первой строке есть пробел - в ней не должно быть пробелов, она должна быть пустой; последняя строка после - тоже должна быть пустой строкой):

dn: CN=ERP_User_Test,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
add: member
member: CN=Ralph Doe,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Grace McPhillip,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Logan Rowley,OU=Track-It!,OU=Admins,OU=CMPNY,DC=company,DC=local
-

dn: CN=FolderSecurity_StockReportsDatabase_C,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
add: member
member: CN=David Collins,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Kelly Paris,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=genericSalesUser,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
-

dn: CN=FolderSecurity_StockReportsDatabase_R,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
add: member
member: CN=Ron Burgandy,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Jane Doe,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Bill Gates,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
-

В первую очередь это достигается тем, что при переносе общих сетевых дисков в новую сеть сохраняются разрешения безопасности отдельных папок. Нам не нужно воссоздавать все группы, снова добавлять участников в группы, а затем просматривать более 1000 папок с уникальными разрешениями безопасности (глупо, я знаю).

После всего этого мы можем ..

Благодарю респондентов в следующих темах: - [H] ardForum - ServerFault - TechNet

Основной ресурс, из которого я следил за общим рабочим процессом экспорта и импорта

Дополнительная полезная информация, которую я использовал или повлиял на меня в моем путешествии

Вот как должен выглядеть ваш файл. Я только что протестировал это против LDS в Windows 8, чтобы быть уверенным.

dn: CN=PrinterAdmins,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
add: member
member: CN=John Doe,OU=Track-It!,OU=Admins,OU=CMPNY,DC=company,DC=local
-

Если у вас нет специальных символов в значениях, тогда подойдет файл ANSI.

Скорее всего, у вас есть, но если у вас нет http://support.microsoft.com/kb/237677 может помочь.

Ваш ответ купил меня ближе к ответу, который я наконец нашел. Я обновлял тысячи групп. Это был мой окончательный ответ .... 'add: member' должно измениться на 'replace: modify' ... все остальное останется таким же, как указано выше ^^^

dn: CN=FolderSecurity_StockReportsDatabase_R,OU=GL,OU=Groups,OU=CMPNY,DC=company,DC=local
changetype: modify
replace: member
member: CN=Ron Burgandy,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local

member: CN=Jane Doe,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
member: CN=Bill Gates,OU=Uncategorized,OU=Users,OU=CMPNY,DC=company,DC=local
-