Active Directory це надійний, але в той же час вкрай складний і критичний сервіс, від працездатності якого залежить робота всієї вашої мережі. Системний адміністратор повинен постійно моніторити коректність роботи Active Directory. У цій статті ми розглянемо основні методики, що дозволяють вам швидко перевірити і діагностувати стан вашого домену Active Directory, контролерів домену та реплікації.

  • Перевірка стану контролерів домену за допомогою Dcdiag
  • Перевірка помилок реплікації між контролерами домену Active Directory

Перевірка стану контролерів домену за допомогою Dcdiag

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

Щоб швидко перевірити стан конкретного контролера домену AD скористайтеся командою:

dcdiag /s:DC01

Дана команда виконує різні тести зазначеного контролера домену та повертає статус по кожному тесту (Пройшов| Помилка).

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

  • Підключення – перевіряє реєстрацію DC в DNS, виконує тестові LDAP і RPC підключення;
  • Реклама – перевіряє ролі і сервіси, які містить цей DC;
    FRSEподія – перевіряє наявність помилок в службі реплікації файлів (помилки реплікації SYSVOL);
  • FSMOCheck – перевіряє, що DC може підключитися до KDC, PDC, сервера глобального каталогу;
  • MachineAccount – перевіряє коректність реєстрації облікового запису DC в AD, коректність довірчих відносини з доменом;
  • NetLogons – перевірка наявність прав на виконання реплікації;
  • Реплікації – перевірка статусу реплікації між контролерами домену та наявність помилок;
  • KnowsOfRoleHolders – перевіряє доступність контролерів домену з ролями FSMO;
  • Послуги – перевіряє, запущені на контролері домену необхідні служби;
  • Системний журнал – перевіряє наявність помилок в журналах DC;
  • І т.д.

dcdiag перевірка стану контролера домену active directory

Повний опис всіх доступних тестів є тут.

Крім стандартних тестів, які виконуються за замовчуванням, можна виконати додаткові перевірки контролера домену:

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

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

dcdiag.exe /s:DC01 /test:dns /e /v

dcdiag перевірка служби DNS в домені

В результаті повинна з’явиться зведена таблиця по перевіркам дозволу імен службою DNS на всіх контролерах (якщо все ОК, скрізь має бути Пройти). Якщо десь буде вказано Fail, потрібно виконати перевірку цього тесту на зазначеному DC:

dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v

Щоб отримати розширену інформацію за результатами тестів контролера домену та зберегти її в текстовий файл, використовуйте команду:

dcdiag /s:DC01 /v >> c:psdc01_dcdiag_test.log

розширена діагностика стану контролера домену командою dcdiag

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

Dcdiag /s:DC01 | select-string -pattern '. (.*) b(passed|failed)b test (.*)'

powershell скрипт - вивести інформацію про тести контролера домену

Щоб отримати стан всіх контролерів домену, використовуйте:

dcdiag.exe /s:winitpro.ru /a

Якщо потрібно вивести тільки знайдені помилки, використовуйте параметр / q:

dcdiag.exe /s:dc01 /q

dcdiag вивести тільки помилки

У моєму прикладі утиліта виявила помилки реплікації:

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, використовуйте параметр / виправити:

dcdiag.exe /s:dc01 /fix

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

Для перевірки реплікації в домені використовується вбудована утиліта репадмін.

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

repadmin /replsum

repadmin / replsum перевірка реплікації в домені

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

Щоб виконати перевірку для всіх DC в домені:

repadmin /replsum *

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

repadmin /showism

Для перегляду топології реплікації і знайдені помилки, виконайте:

repadmin /showrepl

Дана команда перевірить DC і поверне час останньої успішної реплікації для кожного розділу каталогу (остання спроба xxxx була успішною).

repadmin / showrepl перевірка останньої успішної реплікації між контролерами домену

Для виведення розширеної інформації, використовуйте:

repadmin /showrepl *

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

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

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

replmon /syncall <nameDC>

Для перегляду черги реплікації:

repadmin /queue

В ідеальному випадку чергу повинна бути порожня:

repadmin / queue - черга реплікації

Перевірте час створення останньої резервної копії поточного контролера домену:

Repadmin /showbackup *

Ви також можете перевірити стан реплікації за допомогою PowerShell. Наприклад, наступна команда виведе всі виявлені помилки реплікації в таблицю Out-GridView:

Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView

перевірка реплікації за допомогою Get-ADReplicationPartnerMetadata

Можете додатково за допомогою Get-Service перевірити стан типових служб на контролері домену:

  • Доменні служби Active Directory (ntds)
  • Active Directory Web Services (adws) – саме до цієї служби підключаються всі командлети з модуля AD PowerShell
  • DNS (dnscache и dns)
  • Центр розподілу ключів Kerberos (kdc)
  • Служба часу Windows (w32time)
  • NetLogon (netlogon)

Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc03

перевірка служб ADDS на контролері домену

Отже, в цій статті ми розглянули базові команди і скрипти, які можна використовувати для діагностики стану вашого домену Active Directory. Ви можете використовувати їх у всіх підтримуваних версія Windows Server, в тому числі на контролерах домену в режимі Server Core.

Leave a Reply

Your email address will not be published. Required fields are marked *