У многих до сих пор в организациях используются одноименные домены, и админы боятся хоть как-то исправить этот недочет. А исправлять надо и чем раньше, тем лучше. Существует два варианта: первый, создание нового домена и постепенный перенос пользователей в него, второй, переименование текущего домена. Первый вариант, конечно, оптимальней и скорее всего лучше, так как, если что всегда можно вернуться в старый домен, да и «косяков» будет меньше, если конечно у вас правильные руки. Но сегодня рассмотрим второй случай, то есть переименование домена.
Процедура переименования не так уж и сложна, как кажется на первый взгляд, но есть все-таки несколько нюансов, например, откажется работать OCS Server 2007 или Exchange (зависит от версии и SP). Полный список ПО чувствительного к переименованию домена можно найти на сайте
Ну начнем, допустим в организации есть single-label domain: MAIN, и мы хотим его переименовать в main.xxxx.ru. Что нам для этого понадобится:
- Управляющий сервер с которого мы будем производить переименование (желательно windows server 2003 r2, но можно и выше), введенный в домен MAIN
- Утилиты из папки Support\Tools, rendom.exe и gpfixup.exe
- Самое главное уровень леса и домена должен быть не ниже Windows Server 2003 (Поэтому, если у вас не так, поднимаем)
- Учетная запись должна быть членом группы Enterprise Admin
Теперь начинем подготавливать наш управляющий сервер и переименовывать домен:
- Создайте папку на диске C:\RenameDomain
- Копируем в нее утилиты rendom.exe и gpfixup.exe
- С установочного диска Windows Server 2003 из папки Support\Tools устанавливаем SupportTools
- Запускаем коммандную строку (CMD)
- Идем в директорию C:\RenameDomain
- Выполняем rendom.exe /list — с помощью этой команды управляющая станция пытается присоединиться к контроллеру домена у которого установлена роль domain naming master. Так же в директории C:\RenameDomain должен создаться файл domainlist.xml в котором, будет содержаться вся информация о структуре леса и текущем домене.
- Для подстраховки копируем этот файл: copy domainlist.xml domainlist-save.xml.
- Вот так выглядит файл domainlist.xml:
12345678910111213141516171819202122232425262728293031<?xml version ="1.0"?><Forest><Domain><!-- PartitionType:Application --><Guid>ad417f70-8f0d-4d39-8450-a4597a64bced</Guid><DNSname>DomainDnsZones.main</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- PartitionType:Application --><Guid>127aa6d4-bf2e-49c7-97c8-d0ebd27fa6d9</Guid><DNSname>ForestDnsZones.main</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- PartitionType:Application --><Guid>5ba72586-8f13-44a7-92ab-7c4762400cc4</Guid><DNSname>TAPI3Directory.main</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- ForestRoot --><Guid>d2a095ed-86db-4799-860c-364dc017145e</Guid><DNSname>main</DNSname><NetBiosName>MAIN</NetBiosName><DcName></DcName></Domain></Forest> - Открываем его блокнотом и редактируем, должно получиться, что-то вроде этого:
12345678910111213141516171819202122232425262728293031<?xml version ="1.0"?><Forest><Domain><!-- PartitionType:Application --><Guid>ad417f70-8f0d-4d39-8450-a4597a64bced</Guid><DNSname>DomainDnsZones.main.XXXX.ru</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- PartitionType:Application --><Guid>127aa6d4-bf2e-49c7-97c8-d0ebd27fa6d9</Guid><DNSname>ForestDnsZones.main.XXXX.ru</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- PartitionType:Application --><Guid>5ba72586-8f13-44a7-92ab-7c4762400cc4</Guid><DNSname>TAPI3Directory.main.XXXX.ru</DNSname><NetBiosName></NetBiosName><DcName></DcName></Domain><Domain><!-- ForestRoot --><Guid>d2a095ed-86db-4799-860c-364dc017145e</Guid><DNSname>main.XXXX.ru</DNSname><NetBiosName>MAIN</NetBiosName><DcName></DcName></Domain></Forest> - Далее набираем rendom /showforest и смотрим что должно получиться в итоге
- После всего этого необходимо загрузить отредактированное описание леса и домена на все контроллеры, для этого пишем: rendom /upload
Эта команда переводит описание структуры леса из xml в инструкции обновления каталога AD, после чего они загружаются на все контроллеры леса, так же должен сгенерироваться
файлик dclist.xml в котором будет отображено состояние каждого контроллера домена.
Выглядит он примерно так:
1234567891011121314<?xml version ="1.0"?><DcList><Hash>gbGVqbOkUzjF6+OVSsH5HsgRsMQ=</Hash><Signature>rBOLhZxmBM+ketN0cig8vglcV2c=</Signature><DC><Name>srv-dc1.main</Name><State>Initial</State><Password>jUwKGDscUhDw=</Password><LastError>0</LastError><LastErrorMsg></LastErrorMsg><FatalErrorMsg></FatalErrorMsg><Retry></Retry></DC></DcList> - С помощью утилиты dsquery.exe узнаем имя domain naming mastera:
Dsquery server -hasfsmo name
в нашем случае, по скольку у нас всего один контроллер домена, то все роли на нем (srv-dc1.main) - Если у вас несколько DC то необходимо оповестить их все, то что вы хотите изменить наименование леса, для этого:
repadmin /syncall /d /e /P /q srv-dc1.main - Проверяем смогут ли все контроллеры домена выполнить наши инструкции по переименованию:
rendom /prepare
После этого открываем файл: dclist.xml и смотрим состояние всех контроллеров, должно быть Prepared, если хоть у кого-нибудь не так, то
повторяем команду, если опять нет, то пытаемся разобраться с этим DC. - Выполняем rendom /execute
Все контроллеры должны получить инструкции и выполнить их, после чего, перезагрузиться. В файле dclist.xml должно измениться состояние КД
на Done либо Error - Перезагружаем управляющую станцию два раза, то есть наш ПК с windows server 2003. После второй перезагрузки ПК должен увидеть новый домен
- Опять открываем cmd и набираем rendom /end
Эта команда производит чистку на domain naming masterу после переименования. - Далее, для нормального функционирования нового леса и домена необходимо исправить объекты и связи групповой политики:
gpfixup /olddns:MAIN /newdns:main.XXXX.ru /oldnb:MAIN /newnb:MAIN /dc:srv-dc1.main 2>&1 >gpfixup.log
Для того что бы изменения отразились на всех контроллерах выполним:
repadmin /syncall /d /e /P /q srv-dc1.main dc=main,dc=XXXX,dc=ru - Теперь необходимо перезагрузить два раза все машины в домене
- Перед тем, как выполнить последнюю команду необходимо убедиться, что все ПК увидели новый домен, иначе придется вручную перевводить их.
rendom /clean - Так же для полного соблюдения всех нюансов необходимо переименовать сам контроллер домена, так как он остался со старым
именем srv-dc1.main , а надо сделать srv-dc1.main.XXXX.ru
netdom computername srv-dc1.main /add:srv-dc1.main.XXXX.ru
netdom computername srv-dc1.main /makeprimary:srv-dc1.main.XXXX.ru - Перезагружаем контроллер домена и выполняем на нем dcdiag
Все утилиты для переименования: скачать