Я пытаюсь создать больше виртуальных машин «самообслуживания» для разработчиков. Одно из требований заключается в том, что после запуска сценария для начальной загрузки машины и присоединения ее к домену локальный контроллер домена машины немедленно реплицирует свои данные (например, новое зарегистрированное имя машины) обратно на главный контроллер корпоративного домена.
Это должно позволить разработчику немедленно обращаться к машине по DNS-имени, а не по IP-адресу.
Сценарий:
Сценарий boot strap предназначен для интерактивного вызова системным администратором (администратором домена) для настройки машины для разработчика, но позже он будет встроен в unattend.xml.
Я пробовал следующие подходы:
1. Подключитесь через WMI к контроллеру домена с учетными данными администратора домена и запустите там repadmin для принудительной репликации.
Это не работает, потому что repadmin не любит, когда его вызывают через WMI, он утверждает, что не имеет разрешений из-за того, как он интерпретирует учетные данные через WMI
$remotesession = new-pssession -computername "localdomaincontroller" -Credential $credential
invoke-command -ScriptBlock {
Repadmin /replicate corporatedomaincontroller localdomaincontroller 'DC=company,DC=com'
} -Session $remotesession
Remove-PSSession -Session $remotesession
2. запустить repadmin локально
Поэтому я установил repadmin в свои шаблоны серверов, но, похоже, это не сработает, если вы сначала не перезагрузите компьютер. Поскольку я хочу, чтобы все задачи запускались из одного скрипта, это не работает.
Start-Process powershell.exe -Credential $credential "Repadmin /replicate corporatedomaincontroller localdomaincontroller 'DC=company,DC=com'"
Итак, может ли кто-нибудь посоветовать, как я могу одновременно присоединить машину к домену и принудительно реплицировать DC из одного скрипта?
Предполагая, что у вас нет проблем с репликацией DNS для начала (вы это подтвердили ...?):
Вам также необходимо знать исходный DC (где впервые существует запись DNS) и целевой DC (тот, который используется разработчиками), чтобы убедиться, что вы действительно реплицируете запись, которая вам нужна.
Как ускорить репликацию интегрированной зоны DNS в AD? Сервер 2008 R2
Пер Саймон Кэтлин:
Я использовал это, чтобы сделать то же самое. Не копируйте все, вам нужно только реплицировать раздел dnsDomain (я думаю, DN это dc = domaindnszones, dc = yourdomain, dc = co, dc = uk).
Пример repadmin:
%SystemRoot%\System32\repadmin.exe /replicate <target_dc> <source_dc> DC=DomainDnsZones,DC=domain,DC=co,DC=uk
Repadmin не требует перезагрузки сервера, я понятия не имею, что может заставить вас думать, что это так.