Проверка здоровья контроллеров домена active directory и репликации

DCDiag options

DCDiag options go after the command and an optional identifier for a remote domain controller. You can get a list of them by entering dcdiag /? Or dcdiag /h. Here is the list:

  • /a Test all domain controllers on this site.
  • /e Test all domain controllers for this enterprise.
  • /q Quiet mode. Only show error messages.
  • /v Verbose mode. Display detailed information on each test.
  • /c Comprehensive mode. Run all tests except DCPromo, RegisterInDNS, Topology, CutoffServers, and OutboundSecureChannels.
  • /i Ignore superfluous error messages.
  • /fix Fix the Service Principal Name (only for the MachineAccount test).
  • /f: <filename> Send all output to the named file.
  • /test: <testname> Perform only the named test.
  • /skip: <testname> Skip the named test from the series.
  • /ReplSource: <SourceDomainController> Test the relationship between the subject DC and the named DC.

It isn’t necessary to add any options to the command; DCDiag can be run alone, without any further keywords, just the command name itself.

Полезные ссылки

Как и обещал, размещаю список полезных на мой взгляд ресурсов (разделение очень условно):

  1. Блоги (людей и компаний(
    1. Записки IT специалиста — блог компании Interface31, посвященный всему подряд в системном администрировании. Очень полезен порой.
    2. Авторские статьи об OpenSource — постоянно обновляемый блог с небольшими мануалами, обзорами новостей и прочим в мире Linux и открытого ПО
    3. Блог Администратора Debian — просто блог дебианщика админа.
    4. Системное администрирование. Просто о сложном. — шикарный блог по системному администрированию. По очень разным аспектам.
    5. Losst — групповой блог (много авторов) которые пишут статьи про Linux и все около него. Очень хорошо подходит для новичков в мире Linux, для опытных администраторов и пользователей — скорее развлекательное чтиво.
    6. Блог любителя экспериментов — очень хороший но к сожалению редко обновляемый блог про виртуализацию и Linux решения. Выгодно отличается тем, что если там рассказывается про что-то, в дополнение к этому там идет неплохой теоретический материал
  2. Новостные порталы
    1. Opennet — главный сайт с новостями про мир открытых IT технологий и решений, содержащий огромный архив мануалов, технических статей и прочего.
  3. Вики
    1. xgu.ru
    2. Айти бубен
    3. Windows/Linux википедия
  4. Тематические сайты
    1. WinITPro — сайт посвященный (как утверждает автор) Windows, linux и виртуализации, однако для меня он ценен как кладезь информации именно по Windows
    2. vmgu.ru —  как уже писал выше, сайт посвященный виртуализации.
    3. Хакер — журнал про иб безопасность, однако есть два раздела, которые интересны нам- это Admin и Linuxoid
    4. oszone.net — сайт так же интересный в превую очередь с т.з. статей про Windows, а так же богатого форума
    5. ru-board — крупнейший и старейший в рунете IT форум. Тут без комментариев)

П.С. Я намеренно не указывал здесь англоязычные ресурсы, т.к. подразумевается что эта статья рассчитана на начинающих администраторов. Глупо давать ссылки  на англ ресурсы, если один из разделов статьи посвящен базовому освоению английского языка.

Вид неполадки

  • .
  • .

Необходимо найти неполадки, связанные с репликацией.

  • Причина. Регулярно отслеживайте репликацию, чтобы определить и устранить неполадки, прежде чем они станут слишком серьезными.
  • Решение. Регулярное отслеживание является основой для правильной репликации. Можно использовать программы Repadmin.exe, Dcdiag.exe, а также журнал событий службы каталогов (в средстве просмотра событий) как основные средства отслеживания репликации.

    Repadmin — это средство командной строки, предназначенное для оповещения о сбоях при репликации между двумя партнерами. В следующем примере использования repadmin отображаются два партнера репликации и сбои репликации для компьютера Server1 в домене adatum.com.

    Чтобы отобразить полный список параметров repadmin, используйте параметр ?:

    Dcdiag — это средство командной строки, с помощью которого можно поверить DNS-регистрацию контроллера домена; проверить, что идентификаторы безопасности в заголовках контекста именования имеют соответствующие разрешения для репликации; выполнить анализ состояния контроллеров домена в лесу или предприятии; а также выполнить другие действия. В следующем примере использования dcdiag выполняется проверка на любые ошибки репликации между контроллерами домена.

    Чтобы отобразить полный список параметров dcdiag, используйте параметр ?:

    В журнале службы каталогов (в средстве просмотра событий, в разделе Журналы приложений) отображаются ошибки репликации, которые произошли после того, как был установлена связь репликации.

Репликация между сайтами происходит слишком медленно.

  • Причина. Время, требуемое для репликации данных каталога между контроллерами домена, называется задержкой репликации. Задержка репликации может сильно различаться в зависимости от количества контроллеров домена, количества сайтов, доступной пропускной способности между сайтами, частоты репликации и других факторов.
  • Решение.
    • Регулярное отслеживание репликации — это хороший способ для определения стандартной задержки репликации в определенной сети. Обладая такими сведениями, можно с легкостью определить, имеются ли какие-либо неполадки.
    • Просмотрите журнал службы каталогов для обнаружения недавних ошибок, связанных с репликацией. Также выполните команду и просмотрите список ошибок.
    • Для эффективности репликации очень важным является хорошее проектирование топологии сайта. Сведения о правилах, предназначенных для разработки топологии сайта, см. в статье, посвященном проектированию топологии сайта для Windows Server 2008 AD DS (может быть на английском языке) (https://go.microsoft.com/fwlink/?LinkId=93576).

Полное тестирование Active Directory на ошибки

Ключи /q можно убрать если нужна информация не только об ошибках.

Проверим здоровье DNS серверов.

Выполним команду на одном из контроллеров домена:

DCDiag /Test:DNS /e /v /s:controller.contoso.com >DcdiagDNS.txt

дальше полученный отчет открываем:

Если всё хорошо то увидим везде слово PASS:

Если полученные ошибки ручками не получается поправить – пробуем:

DCDiag /Test:DNS /e /v /s:controller.contoso.com /fix

А также ipconfig /registerdns на контроллерах.

Теперь проверим здоровье репликации Active Directory.

Запускаем общую проверку статуса репликации на контроллере:

Если значение наиб. дельты не боле часа – с репликацией всё в порядке. Количество сбоев должно быть равно 0.

Если же возникли ошибки то можно использовать следующую команду чтобы посмотреть какой контекст наименования не реплицируется:

Получим такой вывод:

Диагностика службы времени.

Общая проверка синхронности часов на контроллерах:

Смещение не должно быть больше или меньше 0 целых на всех контроллерах. В нашем случае +2 секунды на одном из них. Как это исправить читаем тут.

Диагностика групповых политик.

Сначала проверим расшаренные папки SYSVOL и Netlogon. Через них распространяются групповые политики.

Проверим расшарены ли эти папки. На каждом контроллере домена:

Получаем такой результат:

Всё в порядке шары на месте.

Теперь тест dcdiag:

Если тест пройден увидим следующее:

В этом случае с шарами всё в порядке.

Чтобы проверить применяются ли GPO можно запустить мастер результатов групповой политики из оснастки Управление групповой политикой (GPMC). Либо выполнить следующую команду:

gpresult /user domainuser /z >gpresult.txt

В результате откроется отчет в котором можно увидеть ошибки применения к данному пользователя групповых политик.

Перенос роли хозяина операций

Прежде чем начать перенос ролей, желательно добиться отсутствия ошибок в dcdiag!

Алгоритм переноса ролей FSMO (Flexible Single-Master Operations) такой же как и при захвате. В первом случае используется работающий главный контроллер домена (PDC), и переносимые роли на нём отключаются, если же он потерян, то роли захватываются новым контроллером принудительно.

Посмотрим список контроллеров домена mydomain.local:

nltest /dclist:mydomain.local

Выясняем, кто из контроллеров является хозяином операций:

C:\Users\pnm>netdom query FSMO Хозяин схемы dc1.mydomain.local Хозяин именования доменов dc1.mydomain.local PDC dc1.mydomain.local Диспетчер пула RID dc1.mydomain.local Хозяин инфраструктуры dc1.mydomain.local Команда выполнена успешно.

Перенос ролей можно сделать двумя способами:

1. через оснастку “Active Directory – Домены и доверие”, открыв её из Диспетчера серверов – Средства.

2. консольной утилитой управления доменом ntdsutil (офиц. документация). Если роли передаются, то используем команду transfer, если же захватываются, то seize. Ниже приведён алгоритм захвата ролей новым контроллером dc2:

C:\Users\pnm>ntdsutil ntdsutil: roles fsmo maintenance: connections server connections: connect to server dc2 Привязка к dc2 … Подключен к dc2 с помощью учетных данных локального пользователя. server connections: quit fsmo maintenance: seize infrastructure master fsmo maintenance: seize naming master fsmo maintenance: seize PDC fsmo maintenance: seize RID master fsmo maintenance: seize schema master quit quit

Находясь в разделе fsmo maintenance можно узнать список всех ролей, послав команду ?.

В случае успешного захвата мы должны увидеть следующее

C:\Users\pnm>netdom query FSMO Хозяин схемы dc2.mydomain.local Хозяин именования доменов dc2.mydomain.local PDC dc2.mydomain.local Диспетчер пула RID dc2.mydomain.local Хозяин инфраструктуры dc2.mydomain.local Команда выполнена успешно.

How to use Dcdiag (examples)

DCDiag is very easy to use.

There are several different command line switches that can be used with Dcdiag, to view them all just use this command dcdiag /?

Here is an overview of the switches I’ll be using in the examples below.

/s: dcname switch is used to run Dcdiag against a remote server

/v: switch prints more detailed information about each test

/c: switch means comprehensive, this will run all tests including the dns test.

/q: switch will only print errors. This is useful as dcdiag can display a lot of information, if you want to see just the errors then use this switch.

/f: switch is used to redirect the results to a file.

TIP: When running dcdiag it will probably report some errors but this doesn’t necessarily mean you have issues with your domain controllers.  For example, the command will query the system logs on the DC and display errors logs, but they could be errors from a computer or another server. Again this may not be a DC issue. You will just have to review and determine if it’s related or not.

Области действия групп AD

Теперь поговорим об области действий групп. Под областью действий понимается диапазон применения этой группы внутри домена.

Глобальная группа – она глобальна тем, что может предоставить доступ к ресурсам другого домена, т.е. ей можно дать разрешения на ресурс в другом домене. Но в нее можно добавить только те учетные записи, которые были созданы в том же домене что и сама группа. Глобальная группа может входить в другую глобальную группу и в локальную группу тоже. Ее часто называют учетной, так как в нее обычно входят учетные записи пользователей.

Локальная группа – она локальна тем, что предоставляет доступ к ресурсам только того домена, где она была создана, т.е. предоставить доступ к ресурсам другого домена она не может. Но в локальную группу могут входить пользователи другого домена. Локальная группа может входить в другую локальную группу, но не может входить в глобальную.  Ее часто называют ресурсной, так как ее часто используют для предоставления доступа к ресурсам.

Универсальная группа – в нее могут входить все, и она может, предоставляет доступ всем.

How to Test Active Directory DNS with DcDiag?

You can check the health of your name resolution service in AD using the DNS tests. For example, to run all DNS tests for a specific domain controller and export the result to a text file:

DCDiag /Test:DNS /e /v /s:dc01.theitbros.com >c:\logs\DcdiagDNSCheck.txt

Open the resulting DNS test log file:

Get-Content c:\logs\DcdiagDNSCheck.txt

The result of each DNS test is listed in a column under the “Summary of DNS test results” section. In this example, all DNS tests passed successfully (PASS), except for the DNS forwarding test (FAIL):

You can only run certain DNS tests:

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName  | /DnsAll]      

/DnsBasic

Basic DNS tests, connectivity, DNS client configuration, service availability, presence of a domain zone

/DnsForwarders

DnsBasic Tests and DNS Forwarding

/DnsDelegation

DnsBasic Tests and delegation verification

/DnsDynamicUpdate

Tests DnsBasic and checks if dynamic update is enabled for an Active Directory zone

/DnsRecordRegistration

DnsBasic tests and also checks if A records, CNAMEs, and SRV services are registered. In addition, an inventory report is generated based on the test results.

/DnsResolveExtName **

DnsBasic tests and resolves the InternetName. If DnsInternetName is not specified, the tool attempts to resolve www.microsoft.com address. If DnsInternetName is specified, it resolves the specified InternetName.

For example, you need to automatically fix some common DNS errors. Use the following command to fix any errors found in the DNS service on the specified domain controller:

DCDiag /Test:DNS /e /v /s:dc01.theitbros.com /fix

What is the DCDiag Utility?

The DCDiag is a Microsoft Windows diagnostics command-line tool for domain controller health checks and troubleshooting. With the DCDiag, you can run about 30 different health checks on a domain controller and test DNS settings, replication health, errors, and more.

The DCDiag tool can be used to analyze a single or multiple DCs simultaneously within your AD forest or enterprise.

How to Install DCDiag?

It is very likely that if you are running Windows Server, you already have DCDiag installed.

The DCDiag is built into the modern Windows Server versions, including 2012R2, 2016, and 2019. For older versions, you would need to manually install it using the Support Tools package. The utility is available as long as you are running AD DS (Active Directory Domain Services), or AD LDS (Active Directory Lightweight Directory Services). If you want to run the DCDiag from a Windows OS client, you would need to install the RSAT roles on the computer.

Проверка ошибок репликации между контроллерами домена Active Directory

Для проверки репликации в домене используется встроенная утилита repadmin.

Базовая команда проверки репликации:

Утилита вернула текущий статус репликации между всеми DC. В идеальном случае значение largest delta не должно превышать 1 час (зависит от топологии и настроек частоты межсайтовых репликаций), а количество ошибок = 0. В моем примере видно, что одна из последних репликаций заняла 14 дней, но сейчас все OK.

Чтобы выполнить проверку для всех DC в домене:

Проверку межсайтовой репликции можно выполнить так:

Для просмотра топологии репликации и найденных ошибках, выполните:

Данная команда проверит DC и вернет время последней успешной репликации для каждого раздела каталога (last attempt xxxx was successful).

Для вывода расширенной информации, используйте:

Для запуска репликации паролей с обычного контроллера домена на контроллер домена на чтение (RODC) используется ключ /rodcpwdrepl.

Опция /replicate позволяет запустить немедленную репликацию указанного раздела каталога на определенный DC.

Для запуска синхронизации указанного DC со всеми партнерами по репликации, используйте команду

Для просмотра очереди репликации:

В идеальном случае очередь должна быть пуста:

Проверьте время создания последней резервной копии текущего контроллера домена:

Вы также можете проверить состояние репликации с помощью PowerShell. Например, следующая команда выведет все обнаруженные ошибки репликации в таблицу Out-GridView:

Можете дополнительно с помощью Get-Service проверить состояние типовых служб на контроллере домена:

  • Active Directory Domain Services (ntds)
  • Active Directory Web Services (adws) – именно к этой службе подключаются все командлеты из модуля AD PowerShell
  • DNS (dnscache и dns)
  • Kerberos Key Distribution Center (kdc)
  • Windows Time Service (w32time)
  • NetLogon (netlogon)

Английский

Английский язык, это один из основополагающих скилов для любого айтишника. Очень скоро Вы понимаете, что объем материалов на русском языке скуден. А толковых еще меньше. Если из толковых мы отберем те, что еще не успели устареть — остается просто пшик. Вот и получается, что знать английский необходимо как минимум для того, чтобы пользоваться хорошей и актуальной документацией. Читать хорошие книги на айти тематику на языке оригинала сразу после выхода в печать, а не ждать 3-5 лет, когда ее переведут ( и она устареет), если вообще дождаться перевода.

Еще одним пунктом в мотивации изучения английского языка, не только в плане чтения технической документации, но и в плане переписки, живого общения, является возможность устроиться на хорошую, высокооплачиваемую работу в международные компании.

Итак, английский знать надо. Не просто надо, а НАДО!!!! Но что делать, если у Вас с ним плохо? Учить самому. Пойти на курсы, найти репетитора… И конечно проводить самостоятельное обучение. Небольшое отступление — как понять, какой у Вас уровень английского? Вот Вам пара таблиц, описывающих наиболее популярную классификацию:

Итак, что же касается самостоятельного обучения… Я думаю с одной стороны, Вам поможет пара обучающих (а скорее посвящающих) видео от GeekBrains:

Если с базой у Вас совсем плохо ( ну мало ли что у кого было в школе) — есть много очень интересных видео курсов, например «Полиглот» — английский за 16 часов:

В дополнение к этому курсу видео, на том же канале есть небольшие дополнения:

  1. Повторите английский по сокращенным урокам
  2. Посмотрите тематические выпуски английского
  3. Пересмотрите расширенные уроки английского

Проверка состояния контроллеров домена с помощью Dcdiag

Базовая встроенная утилита для проверки состояния контролеров домена – dcdiag.

Чтобы быстро проверить состояние конкретного контроллера домена AD воспользуйтесь командой:

Данная команда выполняет различные тесты указанного контроллера домена и возвращает статус по каждому тесту (Passed| Failed).

Типовые тесты:

  • Connectivity – проверяет регистрацию DC в DNS, выполняет тестовые LDAP и RPC подключения;
  • Advertising – проверяет роли и сервисы, опубликованные на DC;FRSEvent – проверяет наличие ошибок в службе репликации файлов (ошибки репликации SYSVOL);
  • FSMOCheck – проверяет, что DC может подключиться к KDC, PDC, серверу глобального каталога;
  • MachineAccount — проверяет корректность регистрации учетной записи DC в AD, корректность доверительных отношения с доменом;
  • NetLogons – проверка наличие прав на выполнение репликации;
  • Replications – проверка статуса репликации между контроллерами домена и наличие ошибок;
  • KnowsOfRoleHolders – проверяет доступность контроллеров домена с ролями FSMO;
  • Services – проверяет, запущены ли на контроллере домена необходимые службы;
  • Systemlog – проверяет наличие ошибок в журналах DC;
  • И т.д.

Полное описание всех доступных тестов есть здесь.

Помимо стандартных тестов, которые выполняются по-умолчанию, можно выполнить дополнительные проверки контроллера домена:

  • Topology – проверяет, что KCC сгенерировал полную топологию для всех DC;
  • CheckSecurityError
  • CutoffServers – находит DC, который не получает репликацию из-за того, что партнёр недоступен;
  • DNS – доступны 6 проверок службы DNS (/DnsBasic, /DnsForwarders, /DnsDelegation, /DnsDymanicUpdate, /DnsRecordRegistration, /DnsResolveExtName)
  • OutboundSecureChannels
  • VerifyReplicas – проверяет корректность репликации разделов приложения
  • VerifyEnterpriseReferences

Например, чтобы проверить корректность работы DNS на всех контроллерах домена, используйте команду:

В результате должна появится сводная таблица по проверкам разрешения имен службой DNS на всех контроллерах (если все ОК, везде должно быть Pass). Если где-то будет указано Fail, нужно выполнить проверку этого теста на указанном DC:

Чтобы получить расширенную информацию по результатам тестов контроллера домена и сохранить ее в текстовый файл, используйте команду:

Следующая команда PowerShell позволяет вывести только информацию о выполненных тестах:

Чтобы получить состояние всех контроллеров домена, используйте:

Если нужно вывести только найденные ошибки, используйте параметр /q:

В моем примере утилита обнаружила ошибки репликации:

There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL replication problems may cause Group Policy problems.
......................... DC01 failed test DFSREvent

Чтобы утилита dcdiag попробовала автоматически исправить ошибки в Service Principal Names для данной учетной записи DC, используйте параметр /fix:

Классификация критичности информационных систем +5

  • 27.07.20 06:19


hard_sign

#512556

Хабрахабр

1900

Системное администрирование, Анализ и проектирование систем, Финансы в IT, IT-инфраструктура, IT-стандарты
Рекомендация: подборка платных и бесплатных курсов Java — https://katalog-kursov.ru/

  • серверы класса hi-end с дисковыми массивами класса hi-end плюс синхронная репликация;
  • серверы класса midrange с дисковыми массивами класса midrange плюс синхронная репликация;
  • серверы класса midrange с дисковыми массивами класса midrange плюс асинхронная репликация;
  • commodity-серверы с дисковыми массивами класса midrange без репликации.
  • Platinum;
  • Gold;
  • Silver;
  • Bronze.
  • Mission critical;
  • Business critical;
  • Business operational;
  • Office productivity.

Систему оценивает бизнес, а не обслуживающее её подразделение IT.Формулировки вопросов, формирующих оценку, должны предусматривать возможность верификации ответов.

  • Приоритет обслуживания при массовых инцидентах. Безусловно, любую систему нужно восстанавливать после аварии, но если авария задела несколько систем, то сначала нужно восстановить наиболее критичные.
  • Типовые значения SLA (service level agreement). Если простой системы приносит убытки, то правильный путь – не жаловаться на администраторов, а повышать её уровень критичности.
  • Стандартные инфраструктурные решения. Каждое из перечисленных выше решений обладает определёнными характеристиками надёжности, обеспечивающими скорость восстановления при сбоях, а также определённой стоимостью.

Класс критичности системы зависит от тяжести последствий остановки системы и скорости их наступления.

  • Экономические (непосредственные убытки);
  • Клиентские (отказ в обслуживании);
  • Репутационные (негативные реакции в средствах массовой информации);
  • Юридические (от предупреждений и штрафов до судебных исков и отзыва лицензии).
  1 2 3 4
Экономические нет <0.1% плановой прибыли 0.1%..0.5% плановой прибыли 0.5%..1% плановой прибыли >1% плановой прибыли
Клиентские нет 1 клиент >1% клиентов >5% клиентов >10% клиентов
Репутационные нет огласка маловероятна огласка в локальных СМИ огласка в региональных СМИ огласка в федеральных СМИ
Юридические нет предупреждения регуляторов штрафы регуляторов гражданские иски риск отзыва лицензии
  до 1 часа 1..4 часа 4..8 часов 8..24 часа
Экономические 1 1 3 3
Клиентские 1 2 2 3
Репутационные 1 2
Юридические 1 2 3 4
  до 1 часа 1..4 часа 4..8 часов 8..24 часа
МАКСИМУМ 1 2 3 4
Баллы до 1 часа 1..4 часа 4..8 часов 8..24 часа
4 MC MC BC BC
3 MC BC BC BO
2 BO BO BO OP
1 BO BO OP OP
  до 1 часа 1..4 часа 4..8 часов 8..24 часа
КЛАСС BO BO BC BC

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

The DCDiag Command Syntax

The DCDiag is a simple command-line utility. You can run DCDiag on a CMD Prompt or a PowerShell window. Remember to use administrator privileges.

The basic syntax of DCDiag is:

dcdiag.exe /s: [/u:\ /p:*||””]

Where “/s:” is Domain Controller, and “/u:\ /p” are username and password for the DC.

This basic command-line will return the test results showing the primary test (connectivity test) and any specified test on the domain controller.

To know what can you do with the DCDiag tool along with all its command-line switches, you can start with the help command:

C:\Windows\System32> dcdiag /?

To use any of the following switches, just append it after the “DCDiag” command. A summary of the popular command switches:

  • /s <DC name> Run DCDiag test against the specified remote Domain Controller.
  • /u <domain\username> use the credentials to connect to a remote DC.
  • /p <password> use along with /u to specify the password of the user.
  • /a Perform DCDiag tests against all DCs within a site.
  • /q (quiet) – Display only error messages.
  • /c (comprehensive) tests against the DC including DNS.
  • /v (verbose) – display extended information.
  • /f (filename) Save the results to the specified filename.
Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: