Экспорт-импорт пользователей Active Directory - фотоВозникла необходимость перенести всех пользователей в новый домен. Microsoft предлагает две утилиты командной строки: ldifde.exe и csvde.exe. Обе они делают экспорт-импорт в/из структурированный текстовый файл. В первом случае .ldf, во втором — .csv. Как мне показалось разницы никакой, за исключением того, что в .ldf каждый атрибут на новой строке, что удобнее читается и правится, если возникла такая необходимость.

С помощью утилиты также можно перенести «Подразделения» (Organization Unit).

При использовании этих утилит не экспортируются атрибуты, связанные с безопасностью — имена групп, которым принадлежат пользователи и пользовательские пароли. Пользователям присваиваются пустые пароли и атрибут «Требовать смену пароля при следующем входе в систему».

Здесь я вкратце опишу только перенос пользователей, в конце заметки я даю ссылку на статью на русском языке на официальном сайте MS.

Итак экспорт.
На контроллере домена источнике выполняем:

ldifde -u -f C:Exportuser.ldf -s dc2 -d "dc=mydomain,dc=local" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,sn,description,givenName,initials,displayName,name,objectclass,profilePath,homeDirectory,homeDrive,samAccountName,mail"

затем с помощью текстового редактора автоматически меняем в файле Exportuser.ldf имя домена у всех пользователей:

DC=mydomain,DC=local

на

DC=new,DC=mydomain,DC=ru

и делаем импорт:

ldifde -i -f C:Exportuser.ldf -s dc02

При экспорте, если есть проблемы с русскими атрибутами пользователей, надо добавить ключ -u, т.е. экспорт в юникод. Ключ -f указывает на файл обмена.

У меня возник один баг — несколько пользователей не выгружались при экспорте, что я только не делал. Если кто подскажет — буду премного благодарен!

Оригинальная статья
https://support.microsoft.com/kb/q237677/