Хочу обратить внимание, что данная последовательность операций была заточена под нашу сеть.
Мы имели контроллер домена на CentOS Samba+LDAP, причем на этом же сервере хранятся расшаренные ресурсы доступ к которым с windows-клиентов осуществляется при помощи самбы.
Планируется перенести PDC с линукса на винду, понизив роль старого контроллера домена до простого файлового сервера на самбе.
Так же у нас имеется файл, в котором перечислены доменные пароль юзверей в нешифрованном виде.Этап 1 – “Подготовительный”
За неделю до времени “Ч” через netlogon.bat на рабочих станциях домена отключили бэндмауэр и перевели энергосбережение в режим «всегда включен». В течение недели несколько раз циркулярно разослали по корпоративной почте письмо с требованием вечером в пятницу оставить компьютеры включенными.
OCS.reg
Windows Registry Editor Version 5.00
;Брандмауэр Windows/Общий доступ к Интернету (ICS)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess]
"Start"=dword:00000004
;Отключить автоматическую перезагрузку в случае отказа системы
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000000
;Режим энерго сбережения - "всегда включен"
[HKEY_CURRENT_USER\Control Panel\PowerCfg]
"CurrentPowerPolicy"="3"
[HKEY_USERS\.DEFAULT\Control Panel\PowerCfg]
"CurrentPowerPolicy"="3"
Остальные этапы выполняются в субботу – официальный выходной день.Этап 2 Ставим на боевом железе Windows Server 2003 (далее везде W2k3) на машину которую впоследствии будем использовать в качестве PDC (соответственно назвав сервер именем PDC). AD пока не поднимаем.
Этап 3 Ставим на VMware ОС W2k3, имя BDC
Ставим на виртуальную машину, а не боевое железо в связи с тем, что впоследствии будет необходимо несколько раз откатываться к предыдущему состоянию, что на много проще сделать на виртуалке (надеюсь, все знакомы с понятием snapshot).Этап 4 Гасим самбу на старом контроллере домена.
Настраиваем BDC:
- с помощью утилиты
NewSID из пакета
Sysinternals меняем SID на SID старого домена
- поднимаем Active Directory на BDC
- настраиваем Параметры безопасности - Политику паролей – нам пришлось временно уменьшить «минимальную длину пароля»
Делаем snapshot системы.
Этап 5 – Перенос пользователей и компьютеров со старого сервера домена на новый (BDC)
Подключаемся к LDAP серверу старого домена с помощью утилиты
LDAP Admin и выгружаем ветки в xml-файлы:
ou=Users -> users.xml
ou=Computers -> computers.xml
ou=Groups -> groups.xml
Из файлов users.xml, computers.xml и файла в котором перечислены не зашифрованные пароли пользователей с помощью Microsoft Excel формируем текстовый файл со строками вида:
для пользователей домена строка выглядела так =
RID, login, ФИО, password, e-mailдля компьютеров домена строка выглядела так =
RID, computenameт.к. в домен объекты добавляются с последовательным заполнением RID-ов, то вместо строк с пропущенными RID-ами были добавлены строки:
RID, computenameRIDДля того чтобы заполнить базу AD начальник написал программку на VB.NET. Там есть специальный класс для работы с AD.
В принципе эта программа выполняет функции утилиты от
Microsoft Addusers.exe.
Отличие только в том, что самопальная программа помещает строки с пользователями в ou=Users, а с компьютерами в ou=Computers.
Впоследствии мы пришли к выводу, что компьютеры можно было не создавать в новом домене, т.к. они автоматически создадутся при заведении рабочих станций в новый домен. А, следовательно, не нужно было «городить огород» - нужно было просто воспользоваться утилитой от Microsoft-а. Для этого нужно было создать файл вида:[Users]
login, ФИО, password, описание, диск, путь, профиль, сценарий
…
Который и импортировать с помощью Addusers в ADТ.к. не известно, какой RID «текучий свободный» в домене, пришлось сначала загнать одного пользователя в домен с помощью addusers.exe, потом посмотреть его SID (точнее RID) c помощью утилиты
PsGetSid и удалить из файла лишних пользователей – нужно чтобы в файле первым был пользователь как раз с RID-ом, который был присвоен этому созданному пользователю.
После этого мы откатили систему до предыдущего snapshot-a, заполнили базу Active Directory пользователями и компьютерами, удалили «фиктивные» компьютеры с именами computenameRID
Этап 6 – Перенос групп со старого сервера домена на новый (BDC)
Из файла groups.xml с помощью Microsoft Excel формируем текстовый файл со строками вида:
[Global]
groupname, Камент, user1, user2,…
…
Каждая строка это перечень пользователей, которых необходимо включить в группу, с названия которой и начинается строка (во загнул

)
Выполняем эту операцию с помощью addusers:
addusers.exe \\BDC /c groups.txtЭтап 7 – Создаем DHCP сервер
На сервере PDC (на боевом железе) поднимаем DHCP сервер.
Со старого сервера берем файл dhcpd.conf и гасим службу dhcpd.
C помощью Microsoft Excel и блокнота формируем строки для добавления резервирования для компьютеров домена.
Вид строки:
Dhcp Server 192.168.0.1 Scope 192.0.0.0 Add reservedip 192.168.0.22 f0123456789f "computer" "Комп бухгалтера" "BOTH"
где:
192.168.0.1 – ip адрес сервера
192.0.0.0 – область ip адресов
192.168.0.22 – резервируемый ip адрес компьютера
f0123456789f – MAC адрес сетевого интерфейса компьютера
computer – имя компьютера
"Комп бухгалтера" – описание коспьютера
Сформированные строки сохраняем в текстовый файл c:\dhcp.txt
Теперь добавляем резервирование на наш сервер с помощью команды:
netsh exec c:\dhcp.txt > log.txtВ файл log.txt будут записаны результаты выполнения этой команды.
Этап 8 – Понижение роли samba до простого файлового сервера
Бэкапим конфиги самбы, ставим kerberos, настраиваем kerberos, настраиваем samba как файловый сервер с авторизацией в AD.
Инструкции не привожу т.к. все умеют пользоваться поиском.
При настройке считаем контроллером домена BDC, установленный на виртуальной машине.
Однако стоит обратить внимание на то, что нам пришлось сменить владельцев и группы расшаренных ресурсов на новые, чтобы пользователи, прошедшие авторизацию на в AD, могли получить доступ к своим папкам.
Если раньше у нас было, например, так
[root@server share]# ll
drwx------ 6 vasia smb_users 4096 Feb 3 12:06 vasia
то должно стать вот так:
[root@server share]# ll
drwx------ 6 DOMAIN+vasia DOMAIN+smb_users 4096 Feb 3 12:06 vasia
Возможно, что это делать придется не всем – все зависит от настройки Kerberos и Samba.
Этап 9 – Загоняем рабочие станции в новый домен
Была написана программка на VB которая с помощью утилиты
PsExec выполняла следующий bat-файл на каждой рабочей станции:
net use N: \\PDC\netdom run /USER:PDC\run
@rem echo "Defining variables"
@SET HOST=%computername%
@SET DUSER=Domain\dmn
@SET DPASS=********
@SET LOCUSER=%computername%\Администратор
@SET LOCPASS=********
@CALL N:\netdom.exe REMOVE %HOST% /DOMAIN:Domain /UserD:%DUSER% /PasswordD:%DPASS% /UserO:%LOCUSER% /PasswordO:%LOCPASS%
@CALL N:\netdom.exe JOIN %HOST% /DOMAIN:Domain /UserD:%DUSER% /PasswordD:%DPASS% /UserO:%LOCUSER% /PasswordO:%LOCPASS% /REBoot
net use N: /DELETE
Переменные:
DUSER – пользователь домена, имеющий право подключать рабочие станции к домену
DPASS – его пароль
LOCUSER – локальный администратор
LOCPASS – его пароль
Netdom.exe – утилита из пакета Windows support tools, который лежит на диске в папке SUPPORT\TOOLS\ SUPTOOLS.MSI
Выполнение этого батника приводило к тому, что сначала рабочая станция отключается от домена и сразу же после этого подключается к новому домену.
Этап 12На сервере PDC устанавливаем DNC.
Ставим на PDC Active Directory, установив роль Backup Domain Controller
Да – да – именно резервный несмотря на имя.
После репликации AD с сервером, установленным на виртуальной машине, передаем ему (PDC поднятому на боевом железе) все роли, таким образом делаем его первичным контроллером домена (PDC как и называется сервер

).
Перенастраиваем самбу – теперь нужно ей указать, что контроллером домена является PDC, а не BDC, как было ранее.
Этап 13Самая неприятная операция – необходимо ручками загнать в новый домен рабочие станции, на которых не выполнился батник из этапа 9.
Этап 14Идем пить пиво и надеяться, что в понедельник не всплывут какие-нибудь не учтенные моменты.
Группа: Гости
Регистрация: --
Статус: