Рецептов по части экспорта/импорта пользователей в интернете полно. Например, здесь. Но вот вразумительного описания экспорта/импорта структуры я не нашел.
Задача: есть такая структура дерева:
Надо ее, начиная с OU=RDE, перенести в другое дерево, в домен с таким же именем. Например, с тестовой площадки, где развернут пробный домен, на свежеустановленный боевой DC.
Перепробовал разные варианты экспорта и импорта посредством CSVDE, пока не получил приемлемый результат.
Экспорт:
csvde -f export-rde-ou.csv -d "ou=rde,dc=my,dc=domain,dc=ru" -r "(objectclass=organizationalunit)" -p subtree -l objectclass,dn,objectcategory
Получили вполне приемлемый CSV-файл. Однако, при его импорте командой
csvde -i -f export-rde-ou.csv -k -j . -v
вылезают совершенно невразумительные ошибки о невозможности создания объектов, о несуществующих объектах и т.п.
Единственный выход из положения, который я нашел, это вручную перетасовать CSV так, чтобы чем выше элемент в дереве, тем раньше он встречается в файле, поскольку CSVDE прекращает импорт при первой же ошибке.
Например, в экспортированном мной файле OU шли в такой последовательности
RDE
RDE/users/Черноморская
...
RDE/users.
И импорт прекращался на второй строчке. После того, как я отредактировал файл, поставив объемлющие OU выше объемлемых, всё встало на свои места - CSVDE не умеет создавать промежуточные OU, например, не смогла создать объемлющую OU=users для объемлемой OU=Черноморская.
Если бы импорт не прекращался, то после нескольких прогонов импорта были бы последовательно созданы OU всё более и более низкого уровней по мере того, как создавались бы их объемлющие OU. Однако, из-за остановки импорта на первом же затыке пришлось сортировать файл вручную. Блин!
Задача: есть такая структура дерева:
Надо ее, начиная с OU=RDE, перенести в другое дерево, в домен с таким же именем. Например, с тестовой площадки, где развернут пробный домен, на свежеустановленный боевой DC.
Перепробовал разные варианты экспорта и импорта посредством CSVDE, пока не получил приемлемый результат.
Экспорт:
csvde -f export-rde-ou.csv -d "ou=rde,dc=my,dc=domain,dc=ru" -r "(objectclass=organizationalunit)" -p subtree -l objectclass,dn,objectcategory
Получили вполне приемлемый CSV-файл. Однако, при его импорте командой
csvde -i -f export-rde-ou.csv -k -j . -v
вылезают совершенно невразумительные ошибки о невозможности создания объектов, о несуществующих объектах и т.п.
Единственный выход из положения, который я нашел, это вручную перетасовать CSV так, чтобы чем выше элемент в дереве, тем раньше он встречается в файле, поскольку CSVDE прекращает импорт при первой же ошибке.
Например, в экспортированном мной файле OU шли в такой последовательности
RDE
RDE/users/Черноморская
...
RDE/users.
И импорт прекращался на второй строчке. После того, как я отредактировал файл, поставив объемлющие OU выше объемлемых, всё встало на свои места - CSVDE не умеет создавать промежуточные OU, например, не смогла создать объемлющую OU=users для объемлемой OU=Черноморская.
Если бы импорт не прекращался, то после нескольких прогонов импорта были бы последовательно созданы OU всё более и более низкого уровней по мере того, как создавались бы их объемлющие OU. Однако, из-за остановки импорта на первом же затыке пришлось сортировать файл вручную. Блин!