Windows Server 2012 - это основная серверная среда. Все машины расположены в серверной комнате, обслуживающей лабораторию тестирования сети. В лаборатории более 400 серверов, большинство из которых виртуализированы, что дает нам рабочий диапазон в 3500–4000 машин, которые будут использоваться в лаборатории.
Сценарий: наш резервный DC вышел из строя около месяца назад, и никто этого не заметил, поскольку предыдущий администратор только что ушел, а наш новый специалист по инфраструктуре изучал нашу сеть на месте. У DC произошел аппаратный сбой, и это полная потеря.
У нашего PDC начались проблемы с репликацией, и в конечном итоге мы получили сообщение о том, что он объявил себя недействительным из-за того, что не выполнил роль управления DC. Эта задача не может быть подтверждена (да!).
Около недели назад мы запустили сценарий Powershell, чтобы добавить 400 машин в AD / домен. Примерно через 25% скрипт перестал распознавать PDC как контроллер домена. С тех пор мы не можем добавлять машины в домен, в настоящее время у нас заканчивается кеш-время на других клиентах, поскольку они вошли в домен без фактического PDC.
Нам не удалось удалить поврежденный DC из PDC, из-за этого мы не можем сделать резервную копию AD и перенести данные.
Что мы сделали до сих пор
Проблемы
Есть ли способ избежать полной перестройки нашей AD с нуля?
Есть ли варианты восстановления наших объектов групповой политики без их повторного создания вручную?
данные dcdiag
После запуска dcdiag
, Все но CheckSDRefDom
тесты не прошли. Все тесты, зависимые от LDAP, завершились неудачно с LDAP Error 0x3a (58)
. Проверки FMSO прошли успешно. DNS не ответил и сообщил, что не запущен, даже если служба была запущена.
Я думаю, мы примем предложение Матиуса и воспримем это как возможность переделать и изучить.
Я предполагаю, что мертвый сервер был RID Мастер.
Контроллеры домена выделяют уникальные идентификаторы SIDS, используя пул относительных идентификаторов (RIDS). Один DC в домене, RID Master, отвечает за предоставление уникальных пулов каждому контроллеру домена. Когда у контроллера домена заканчиваются идентификаторы RID, он не может больше создавать участников безопасности.
В этом случае добавление дополнительных контроллеров домена совершенно не поможет.
Чтобы исправить это, вам нужно захватить роль хозяина RID на рабочем ДЦ. Важно: после того, как вы взяли на себя роль, не позволяйте старому мастеру RID вернуться в онлайн! Это может привести к проблемам.
Кстати, ответ, предполагающий создание нового домена, представляет собой огромную нагрузку, больше работы, чем может показаться. Помимо прочего, теперь вы должны настроить каждую службу на каждом сервере с новой учетной записью службы, что может означать установку имен и разрешений участников службы. Теперь вы должны воссоздать свою систему обмена сообщениями, возможно, требуя экспорта и импорта каждого почтового ящика. Выравнивание леса AD - это вариант в крайнем случае, его следует делать только после того, как вы исчерпали другие варианты!
Кроме того, я предлагаю вам подождать несколько дней, прежде чем принимать здесь ответ - не принимайте просто первый из представленных.
Я боюсь показаться элитарным и покровительственным, но исходя из предоставленной вами информации и того, как вы сформулировали свой вопрос, я думаю, что наиболее реальным долгосрочным решением является
Microsoft опубликовала ряд руководств по подходу к разработке и развертыванию Active Directory, однозначно стоит упомянуть:
В Руководство по проектированию AD DS в TechNet
В Руководство по доменным службам Active Directory из серии руководств по инфраструктуре и планированию Microsoft
Удачи!
Судя по вашим недавним обновлениям, AD DS в настоящее время не работает, так что это последнее средство резервного копирования и восстановления GPO, не включая ссылки и фильтры WMI.
Объект групповой политики состоит из двух частей: контейнера групповой политики и шаблона групповой политики.
Контейнер - это объект в активном каталоге, который содержит ссылки групповой политики, которые используются для применения данного объекта групповой политики к данному подразделению - если DSA недоступен для вас на этом этапе, вы не сможете получить их без подключения и изучить автономную копию вашей базы данных NTDS (не так просто, как может показаться).
С другой стороны, шаблон содержит основные сведения об объекте групповой политики, все параметры, имя, информацию о версии и т. Д. И хранится в папке SYSVOL файловой системы.
В конфигурации по умолчанию вы сможете найти все свои GPT в C:\Windows\SYSVOL\domain\policies\
. С резервной копией GPT на уровне файлов вы сможете воссоздать объекты групповой политики в новом домене, предпочтительно с помощью PowerShell, как показано ниже:
$gptBackupFilePath = "C:\backup\policies\"
$ServerName = $env:COMPUTERNAME
Import-Module GroupPolicy
$GPTs = Get-ChildItem $gptBackupFilePath -Directory |Where-Object {$_.Name -imatch "^\{([0123456789abcdef-]){36}\}$"}
foreach($GPT in $GPTs)
{
if("{31B2F340-016D-11D2-945F-00C04FB984F9}" -eq $GPT.Name.ToUpper())
{
Write-Host "Skipping Default Domain Policy "
}
if("{6AC1786C-016F-11D2-945F-00C04FB984F9}" -eq $GPT.Name.ToUpper())
{
Write-Host "Skipping Default Domain Controllers Policy "
}
$GPTPath = $GPT.FullName
$GPOName = (Get-Content (Join-Path $GPTPath "GPT.ini") |Where-Object {$_ -match "^displayName="}).Substring(12) |Select -First 1
if(-not($GPOName))
{
Write-Warning "Unable to read GPO name from $GPTPath"
continue
}
$newGPO = New-GPO -Name $GPOName -Server $ServerName
if(-not($?))
{
Write-Warning "Unable to create new GPO $GPOName"
continue
}
$GPOGuid = $newGPO.Id.ToString()
$Destination = Get-Item ("C:\Windows\SYSVOL\domain\policies\{" + $GPOGuid + "}")
if(-not(Test-Path $Destination))
{
Write-Warning "Unable to access new GPT for GPO $GPOName"
continue
}
Get-ChildItem -Path $GPTPath -Recurse -Exclude @("gpt.ini") |Copy-Item -Destination $($_.FullName -replace $GPTPath,$DestinationPath.FullName) -Force
if($?)
{
Write-Host "Successfully recreated GPO $GPOName as $GPOGuid"
}
}
Я сомневаюсь, что это поддерживаемое решение, и, в отличие от обычного импорта GPO с таблицами миграции, вам нужно вручную присвоить UNC-пути другим доменным ссылкам.
Приведенный выше пример предназначен для запуска на контроллере домена в вашем новом лесу с $gptBackupFilePath
изменен на папку, содержащую содержимое [..] \ policy на старом контроллере домена
В только другой текущий ответ на этот вопрос, предполагая, что вы потеряли контроллер домена, в настоящее время обладающий ролью RID Master FSMO, и исчерпали текущий пул RID, с большой вероятностью полностью верны, и вы вполне можете восстановить лес из его текущего состояния.
Моя рекомендация начать с нуля - это не простой ответ goto по умолчанию, а тщательно выбранный вариант, основанный на личном опыте работы с AD Disaster Recovery и, что более важно, уборка после катастрофических усилий других людей по восстановлению после бедствий.
Если вы не совсем понимаете, чего ожидать от здоровой среды Active Directory, и методом проб и ошибок делаете то, что вам говорят (захват FSMO, очистка метаданных и т. Д.), Основные нерешенные проблемы все еще могут быть настоящее - но слишком неуловимое и поэтому скрыто от неподготовленного глаза.
Любое несоответствие, появившееся в течение последних 30 или 60 дней, может не проявиться прямо здесь и сейчас, но если и когда оно проявится - вам захочется начать с нуля, когда у вас будет возможность