Ldifde — перенос структуры OU между доменами AD

Иногда при миграциях бывает необходимо воспроизвести структуру организационных подразделений Active Directory из исходного домена в целевом. Самый быстрый способ сделать это – экспортировать структуру OU с помощью утилиты ldifde из исходного домена в ldf файл, отредактировать полученный файл с помощью текстового редактора и импортировать полученный файл в целевой домен.

1. Экспорт данных с помощью ldifde

Имеем два домена в разных лесах AD: source.lab и target.lab. В домене source.lab у нас имеется развитая структура OU, которую нам хочется перенести в домен target.lab. Заходим на контроллер домена в source.lab и выполняем команду:

ldifde -f c:\users\ant\desktop\OUs.ldf -s dc1.source.lab -d "OU=NameOfOU,DC=source,DC=lab" -p subtree -r "(objectcategory=organizationalUnit)" -l "objectClass,description" –u
ldifde export example

Пример выполнения экспорта

Данная команда выполнит экспорт объектов категории OrganizationalUnit рекурсивно начиная с OU “NameOfOU” в файл OUs.ldf.

Параметры, котрые были использованы:
-f Имя входного или выходного файла
-s Сервер
-d Корень поиска LDAP
-p Область поиска — может быть Base/OneLevel/Subtree. В нашем случае мы экспортируем всё дерево целиком от указанной OU в параметре -d
-r Фильтр поиска LDAP. В нашем случае мы экспортируем только организационные подразделения, поэтому указываем фильтр
«(objectcategory=organizationalUnit)»
-l Список атрибутов для которых выполняется поиск LDAP
-u Использовать Юникод. Важно, если используются русские имена в названиях OU

Редактируем полученный файл в редакторе, который позволяет выполнить замену для всех вхождений. Я использовал Notepad ++. Меняем OU=NameOfOU,DC=source,DC=lab на OU=NewOUname,DC=target,DC=lab

2. Импорт данных в целевой домен

Импортируем полученный ldf файл в целевой домен. На этом шаге есть небольшая хитрость. Поскольку файл ldf утилита ldifde читает последовательно, то в момент импорта утилита не сможет создать дочернее OU для несуществующего пока ещё родительского OU, информация о котором находится в конце файла. Нужно использовать опцию k, которая позволяет проскакивать OU, которые лежат ниже в иерархии и пока не могут быть созданы. Команду необходимо выполнить несколько раз, пока не импортируются вся иерархия OU. Команду выполняем на контроллере целевого домена.

ldifde -i -f "c:\users\admin\desktop\OUs.ldf" -s dc0.target.lab -u –k

На этом всё. Структура OU перенесена. Естественно, что эта процедура не переносит ACL, которые могли быть настроены в исходном домене.

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