Діагностика та усунення несправностей Active Directory: повний посібник для IT-підтримки у 2026 році

Повний посібник з діагностики та усунення несправностей Active Directory для IT-підтримки. Блокування акаунтів, збої реплікації, DNS-проблеми, GPO, інтеграція з Entra ID та безпека AD — з практичними PowerShell-скриптами та покроковими інструкціями.

Active Directory: діагностика та Fix 2026

Вступ: чому Active Directory залишається критично важливою інфраструктурою

Active Directory (AD) — це серце корпоративної ІТ-інфраструктури більшості організацій. І навіть у 2026 році, коли хмарні рішення розвиваються шаленими темпами, локальний Active Directory та його гібридна інтеграція з Microsoft Entra ID (раніше Azure AD) продовжують відігравати ключову роль в автентифікації користувачів, управлінні доступом та забезпеченні безпеки корпоративних мереж. За даними Microsoft Digital Defense Report 2025, понад 40% атак програм-вимагачів починаються саме з компрометації облікових даних Active Directory. Цифра, чесно кажучи, лякає.

Якщо ви працюєте в IT-підтримці, глибоке розуміння діагностики та усунення несправностей AD — це не просто корисна навичка, а абсолютна необхідність. У цьому посібнику ми детально розглянемо найпоширеніші проблеми Active Directory, інструменти для їх діагностики, практичні сценарії усунення неполадок та найкращі практики підтримки здорової AD-інфраструктури.

Основні інструменти діагностики Active Directory

DCDiag — перша лінія діагностики

DCDiag (Domain Controller Diagnostics) — це вбудований інструмент командного рядка, який виконує серію тестів для оцінки загального стану контролерів домену та пов'язаних служб. За мій досвід, це перший інструмент, до якого варто звертатися при будь-яких підозрах на проблеми з Active Directory.

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

dcdiag

Але якщо вам потрібна повна картина стану всіх контролерів домену у лісі, використовуйте розширений варіант з усіма тестами та детальним виводом:

dcdiag /c /e /v > C:\dcdiag_full_report.txt

Де параметри означають:

  • /c — виконати всі тести, включаючи додаткові
  • /e — перевірити всі контролери домену у всіх сайтах
  • /v — детальний (verbose) вивід результатів

Окремо хочу виділити тест DNS — він перевіряє функціональність DNS-сервера на контролері домену, і саме тут часто криються проблеми, які на перший погляд здаються несподіваними:

dcdiag /test:dns /v

При аналізі результатів DCDiag зверніть особливу увагу на тести, що завершилися з помилками. Кожен невдалий тест супроводжується описом проблеми та рекомендаціями щодо її усунення.

Repadmin — діагностика реплікації

Repadmin — спеціалізований інструмент для діагностики та управління реплікацією Active Directory. Він включений до Windows Server починаючи з версії 2008, а також доступний на робочих станціях з встановленими RSAT (Remote Server Administration Tools).

Швидка перевірка загального стану реплікації:

repadmin /replsummary

Ця команда покаже відсоток невдалих спроб реплікації та найбільші затримки. Дуже зручно для швидкої оцінки загального стану.

Детальний статус реплікації для поточного контролера домену:

repadmin /showrepl

Для перегляду лише помилок реплікації (коли не хочеться гортати тонни виводу):

repadmin /showrepl /errorsonly

Генерація звіту про реплікацію всього лісу у форматі CSV для аналізу в Excel:

repadmin /showrepl * /csv > C:\replication_report.csv

Або для інтерактивного перегляду в PowerShell:

repadmin /showrepl * /csv | ConvertFrom-Csv | Out-GridView

PowerShell модуль ActiveDirectory

Модуль ActiveDirectory для PowerShell надає широкий набір командлетів для управління та діагностики AD. Для початку переконайтеся, що модуль встановлено:

Import-Module ActiveDirectory
Get-Module ActiveDirectory

Базові команди для перевірки стану домену:

# Інформація про домен
Get-ADDomain

# Інформація про ліс
Get-ADForest

# Список усіх контролерів домену
Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, OperatingSystem, Site

Журнал подій Windows (Event Viewer)

Журнали подій — незамінне джерело інформації для діагностики Active Directory. Ось основні журнали, на які слід звертати увагу:

  • Directory Service — події, пов'язані з операціями AD DS
  • DNS Server — події DNS-сервера
  • Security — події безпеки, включаючи автентифікацію та блокування облікових записів
  • System — системні події, включаючи проблеми з мережею та службами

Для швидкого пошуку критичних подій за допомогою PowerShell:

# Критичні помилки AD за останні 24 години
Get-WinEvent -FilterHashtable @{
    LogName = 'Directory Service'
    Level = 1,2  # Critical, Error
    StartTime = (Get-Date).AddHours(-24)
} | Select-Object TimeCreated, Id, Message | Format-List

Проблема 1: Блокування облікових записів користувачів

Опис проблеми

Якщо ви працювали з AD хоча б рік, ви точно стикались з цим: блокування облікових записів — одна з найпоширеніших причин звернень до служби підтримки. За статистикою, до 30% усіх тікетів IT-підтримки пов'язані саме з проблемами автентифікації та блокування акаунтів. Обліковий запис блокується, коли кількість невдалих спроб входу перевищує поріг, встановлений у політиці блокування облікових записів (Account Lockout Policy).

Основні причини блокування

  • Користувач забув новий пароль після його зміни
  • Кешовані облікові дані на іншому пристрої (мобільний телефон, планшет)
  • Застарілі облікові дані у службах Windows та запланованих завданнях
  • Підключені мережеві диски з попередніми обліковими даними
  • Програми, що зберігають старий пароль (поштові клієнти, VPN)
  • Скрипти або сервіси, що використовують облікові дані сервісного акаунта
  • Атаки методом перебору (brute-force) — найнебезпечніший варіант

Діагностика: пошук джерела блокування

Крок 1: Знайдіть усі заблоковані облікові записи в домені:

Import-Module ActiveDirectory
Search-ADAccount -LockedOut -UsersOnly |
    Select-Object Name, SamAccountName, LockedOut, LastLogonDate |
    Format-Table -AutoSize

Крок 2: Визначте контролер домену, на якому відбулося блокування. Подія з ID 4740 у журналі безпеки вказує на блокування облікового запису:

# Пошук подій блокування на PDC Emulator
$PDCEmulator = (Get-ADDomain).PDCEmulator
Get-WinEvent -ComputerName $PDCEmulator -FilterHashtable @{
    LogName = 'Security'
    Id = 4740
} | ForEach-Object {
    [PSCustomObject]@{
        Time       = $_.TimeCreated
        User       = $_.Properties[0].Value
        Computer   = $_.Properties[1].Value
    }
} | Format-Table -AutoSize

Крок 3: Після визначення комп'ютера-джерела перевірте події невдалого входу (Event ID 4625) на цьому комп'ютері, щоб з'ясувати точну причину:

# На комп'ютері-джерелі блокування
Get-WinEvent -FilterHashtable @{
    LogName = 'Security'
    Id = 4625
} -MaxEvents 50 | Select-Object TimeCreated, Message | Format-List

Усунення проблеми

Розблокування облікового запису через PowerShell:

# Розблокування конкретного користувача
Unlock-ADAccount -Identity "ivan.petrenko"

# Скидання пароля з вимогою зміни при наступному вході
Set-ADAccountPassword -Identity "ivan.petrenko" -Reset -NewPassword (ConvertTo-SecureString "Temp0r@ryP@ss!" -AsPlainText -Force)
Set-ADUser -Identity "ivan.petrenko" -ChangePasswordAtLogon $true

Після розблокування обов'язково усуньте першопричину. Це важливо — просто розблокувати акаунт недостатньо. Перевірте та оновіть кешовані облікові дані у службах, запланованих завданнях та мережевих підключеннях на комп'ютері-джерелі.

Автоматизація моніторингу блокувань

Отже, давайте розберемось, як автоматизувати цей процес. Створіть скрипт для автоматичного моніторингу та сповіщення про блокування облікових записів:

# Скрипт моніторингу блокувань облікових записів
$PDCEmulator = (Get-ADDomain).PDCEmulator
$StartTime = (Get-Date).AddMinutes(-15)

$Lockouts = Get-WinEvent -ComputerName $PDCEmulator -FilterHashtable @{
    LogName   = 'Security'
    Id        = 4740
    StartTime = $StartTime
} -ErrorAction SilentlyContinue

if ($Lockouts) {
    foreach ($event in $Lockouts) {
        $User = $event.Properties[0].Value
        $Source = $event.Properties[1].Value
        $Time = $event.TimeCreated
        Write-Warning "LOCKOUT: $User from $Source at $Time"
    }
} else {
    Write-Host "No lockouts detected in the last 15 minutes."
}

Проблема 2: Збої реплікації між контролерами домену

Опис проблеми

Реплікація Active Directory забезпечує синхронізацію даних між усіма контролерами домену. Коли вона ламається — починаються справжні проблеми. Користувачі стикаються з неузгодженими даними: зміна пароля на одному DC не поширюється на інші, нові групові політики не застосовуються, а нові об'єкти (користувачі, групи) не з'являються на всіх серверах.

Основні причини збоїв реплікації

  • Мережеві проблеми між контролерами домену
  • Некоректна конфігурація DNS
  • Помилки автентифікації між контролерами домену
  • Недостатність апаратних ресурсів (CPU, RAM, дисковий простір)
  • Конфлікти USN (Update Sequence Number)
  • Застарілі (lingering) об'єкти
  • Проблеми з мережевими портами та файерволами

Діагностика реплікації

Крок 1: Загальна оцінка стану реплікації:

repadmin /replsummary

Зверніть увагу на стовпці «fails» та «delta». Велика кількість помилок або значні затримки — це червоний прапорець.

Крок 2: Детальний статус реплікації з відображенням лише помилок:

repadmin /showrepl /errorsonly

Крок 3: Перевірка черги реплікації:

repadmin /queue

Велика черга вказує на затори у реплікації, які можуть бути спричинені перевантаженням мережі або контролера домену.

Крок 4: Комплексна діагностика за допомогою PowerShell:

# Перевірка стану реплікації всіх контролерів домену
Get-ADReplicationPartnerMetadata -Target * -Partition * |
    Select-Object Server, Partition, Partner, LastReplicationSuccess, LastReplicationResult |
    Format-Table -AutoSize

# Перевірка невдалих спроб реплікації
Get-ADReplicationFailure -Target * |
    Select-Object Server, Partner, FailureCount, FirstFailureTime, LastError |
    Where-Object { $_.FailureCount -gt 0 } |
    Format-Table -AutoSize

Усунення збоїв реплікації

Примусова синхронізація контролера домену з усіма партнерами:

repadmin /syncall /AdeP

Де параметри означають:

  • /A — синхронізувати всі розділи (partitions)
  • /d — ідентифікувати сервери за DN замість GUID
  • /e — виконати міжсайтову синхронізацію
  • /P — ініціювати push-реплікацію (замість pull)

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

repadmin /replicate DC2.company.local DC1.company.local "DC=company,DC=local"

Перерахунок топології реплікації (KCC — Knowledge Consistency Checker):

repadmin /kcc

Видалення застарілих (lingering) об'єктів, які можуть блокувати реплікацію:

repadmin /removelingeringobjects DC1.company.local DC2_GUID "DC=company,DC=local"

Проблема 3: Несправності DNS у середовищі Active Directory

Чому DNS критично важливий для AD

Є така стара жарт серед адмінів: «Це завжди DNS». І ось тут починається найцікавіше — бо це справді майже завжди DNS. Кожна операція в AD — від автентифікації Kerberos до пошуку контролерів домену та реплікації — залежить від коректної роботи DNS. Якщо DNS не працює належним чином, Active Directory може виглядати «зламаним», навіть якщо всі контролери домену функціонують нормально.

Active Directory використовує спеціальні SRV-записи для визначення місцезнаходження критичних служб:

  • _ldap._tcp.dc._msdcs.domain.local — пошук контролерів домену через LDAP
  • _kerberos._tcp.domain.local — пошук серверів Kerberos
  • _gc._tcp.domain.local — пошук серверів глобального каталогу

Типові DNS-проблеми

  1. Відсутні SRV-записи — клієнти не можуть знайти контролери домену
  2. Неправильна конфігурація DNS на клієнтах — вказано зовнішній DNS замість внутрішнього AD DNS
  3. Застарілі DNS-записи — вказують на контролери домену, які вже не існують
  4. Проблеми з DNS-зоною — неправильні права або пошкоджена зона
  5. DNS-серверу на контролері домену вказано зовнішній DNS як основний — контролер не може знайти інших DC (класична помилка, до речі)

Діагностика DNS

Крок 1: Перевірка SRV-записів за допомогою nslookup:

nslookup -type=SRV _ldap._tcp.dc._msdcs.company.local
nslookup -type=SRV _kerberos._tcp.company.local
nslookup -type=SRV _gc._tcp.company.local

Крок 2: Перевірка доступності контролера домену за допомогою nltest:

nltest /dsgetdc:company.local
nltest /sc_verify:company.local

Крок 3: Комплексна діагностика DNS через DCDiag:

dcdiag /test:dns /v /e

Крок 4: Перевірка реєстрації SRV-записів на контролері домену:

# Перевірка файлу Netlogon.dns
Get-Content "$env:SystemRoot\System32\Config\Netlogon.dns" | Select-String "SRV"

Усунення DNS-проблем

Перереєстрація SRV-записів контролера домену:

# Зупинка та перезапуск служби Netlogon для перереєстрації записів
net stop netlogon
net start netlogon

# Або через DCDiag з параметром /fix
dcdiag /fix

Очищення DNS-кешу на клієнтському комп'ютері:

ipconfig /flushdns
ipconfig /registerdns

Перевірка та виправлення конфігурації DNS на контролерах домену. Контролер домену повинен вказувати на себе або інший DC як основний DNS-сервер, а не на зовнішній DNS:

# Перевірка налаштувань DNS на всіх мережевих адаптерах
Get-DnsClientServerAddress | Where-Object {$_.AddressFamily -eq 2} |
    Select-Object InterfaceAlias, ServerAddresses |
    Format-Table -AutoSize

Налаштування DNS Scavenging

DNS Scavenging автоматично видаляє застарілі записи. Без нього ваша DNS-зона з часом перетвориться на звалище неактуальних записів. Типові рекомендовані налаштування:

  • No-refresh interval: 7 днів — період, протягом якого запис не може оновлюватися
  • Refresh interval: 7 днів — період, протягом якого запис може оновлюватися
  • Scavenging має бути увімкнений як на рівні DNS-сервера, так і на рівні зони
# Перевірка налаштувань Scavenging на DNS-зоні
Get-DnsServerZoneAging -Name "company.local"

# Увімкнення Scavenging для зони
Set-DnsServerZoneAging -Name "company.local" -Aging $true -NoRefreshInterval 7.00:00:00 -RefreshInterval 7.00:00:00

Проблема 4: Гібридна інтеграція Active Directory з Microsoft Entra ID

Типові проблеми гібридного середовища

Перехід до гібридних середовищ — поєднання локального Active Directory з Microsoft Entra ID (Azure AD) — створює цілий новий клас головного болю для IT-підтримки. Найпоширеніші проблеми включають:

  • Помилки синхронізації Entra Connect — об'єкти не синхронізуються між локальним AD та хмарою
  • Невідповідність атрибутів — конфлікти UPN, відображуваних імен та email-адрес
  • Дублювання об'єктів — один користувач існує як окремі об'єкти в AD та Entra ID
  • Проблеми з паролями — зміна пароля не синхронізується
  • Помилки умовного доступу — політики Conditional Access блокують легітимних користувачів

Діагностика Entra Connect

Перевірка стану синхронізації Entra Connect:

# На сервері з Entra Connect
Import-Module ADSync

# Перевірка стану конектора
Get-ADSyncConnectorRunStatus

# Останні результати синхронізації
Get-ADSyncRunProfileResult -ConnectorName "company.local" |
    Select-Object -Last 5 |
    Format-Table RunProfileName, Result, StartDate, EndDate

Перевірка помилок синхронізації конкретного об'єкта:

# Пошук помилок експорту
Get-ADSyncCSObject -ConnectorName "company.onmicrosoft.com" -ObjectType "user" |
    Where-Object { $_.HasExportError -eq $true } |
    Select-Object DN, HasExportError

Часті помилки синхронізації та їх вирішення

Помилка: InvalidSoftMatch — виникає, коли об'єкт у Entra ID не може бути зіставлений з об'єктом у локальному AD.

Рішення: переконайтеся, що атрибут proxyAddresses або userPrincipalName збігається в обох каталогах.

# Перевірка UPN користувача в локальному AD
Get-ADUser -Identity "ivan.petrenko" -Properties UserPrincipalName, ProxyAddresses |
    Select-Object Name, UserPrincipalName, @{N='ProxyAddresses';E={$_.ProxyAddresses -join ";"}}

Помилка: AttributeValueMustBeUnique — конфлікт унікальних атрибутів (наприклад, два користувачі мають однакову email-адресу). Бачив таке неодноразово після міграцій або злиття компаній.

Рішення: знайдіть та виправте дублювання:

# Пошук дублікатів proxyAddresses
$allUsers = Get-ADUser -Filter * -Properties ProxyAddresses
$duplicates = $allUsers | Where-Object { $_.ProxyAddresses } |
    ForEach-Object {
        foreach ($proxy in $_.ProxyAddresses) {
            [PSCustomObject]@{
                User = $_.SamAccountName
                ProxyAddress = $proxy
            }
        }
    } | Group-Object ProxyAddress | Where-Object { $_.Count -gt 1 }

$duplicates | ForEach-Object {
    Write-Warning "Duplicate: $($_.Name)"
    $_.Group | Format-Table
}

Проблема 5: Проблеми з груповими політиками (GPO)

Типові симптоми

Проблеми з груповими політиками можуть проявлятися по-різному: нові налаштування не застосовуються до робочих станцій, користувачі отримують неправильні політики, або політики застосовуються надто повільно. Часто ці проблеми — лише верхівка айсберга, і справжня причина криється глибше, у проблемах з AD або DNS.

Діагностика GPO

Перевірка застосованих політик на клієнтському комп'ютері:

# Генерація звіту про результуючий набір політик (RSoP)
gpresult /r

# Детальний HTML-звіт
gpresult /h C:\GPReport.html

Примусове оновлення групових політик:

gpupdate /force

А ось перевірка реплікації GPO між контролерами домену через PowerShell — це вже серйозніший крок, який допоможе виявити розбіжності версій:

# Порівняння версій GPO на різних контролерах домену
$DCs = Get-ADDomainController -Filter *
$GPOs = Get-GPO -All

foreach ($GPO in $GPOs) {
    $versions = @()
    foreach ($DC in $DCs) {
        $gpoInfo = Get-GPO -Guid $GPO.Id -Server $DC.HostName
        $versions += [PSCustomObject]@{
            GPO_Name     = $GPO.DisplayName
            DC           = $DC.HostName
            UserVersion  = $gpoInfo.User.DSVersion
            CompVersion  = $gpoInfo.Computer.DSVersion
        }
    }
    $uniqueVersions = $versions | Select-Object UserVersion, CompVersion -Unique
    if ($uniqueVersions.Count -gt 1) {
        Write-Warning "GPO VERSION MISMATCH: $($GPO.DisplayName)"
        $versions | Format-Table
    }
}

Перевірка стану SYSVOL

Папка SYSVOL містить файли групових політик і має реплікуватися між усіма контролерами домену. Якщо SYSVOL «розсинхронізувався» — політики будуть застосовуватися по-різному залежно від того, до якого DC підключився клієнт. Перевірка стану:

# Перевірка стану реплікації DFSR (для Windows Server 2008 R2+)
dfsrdiag pollad

# Перевірка стану DFSR через WMI
Get-WmiObject -Namespace "root\microsoftdfs" -Class DfsrReplicatedFolderInfo |
    Select-Object ReplicatedFolderName, State, CurrentConflictSizeInMb |
    Format-Table -AutoSize

Проблема 6: Безпека Active Directory та виявлення загроз

Ознаки компрометації AD

Атаки на Active Directory стають дедалі складнішими. І чесно кажучи, деякі з них дуже важко виявити, якщо не знаєш, на що дивитися. Ось ознаки можливої компрометації, на які слід звертати увагу:

  • Масові блокування облікових записів у нетиповий час
  • Створення нових привілейованих облікових записів без відповідних запитів
  • Зміни членства в групах Domain Admins або Enterprise Admins
  • Аномальна активність сервісних акаунтів
  • Незвичні запити до LDAP або зміни ACL на критичних об'єктах
  • Неочікувані зміни групових політик

Моніторинг критичних подій безпеки

Налаштуйте аудит та моніторинг наступних подій:

# Моніторинг змін у групі Domain Admins (Event ID 4728, 4729)
Get-WinEvent -FilterHashtable @{
    LogName = 'Security'
    Id = 4728, 4729
} -MaxEvents 100 | Where-Object {
    $_.Message -like "*Domain Admins*"
} | Select-Object TimeCreated, Id, Message | Format-List

# Моніторинг створення нових облікових записів (Event ID 4720)
Get-WinEvent -FilterHashtable @{
    LogName = 'Security'
    Id = 4720
    StartTime = (Get-Date).AddDays(-7)
} | Select-Object TimeCreated, @{N='CreatedUser';E={$_.Properties[0].Value}},
    @{N='CreatedBy';E={$_.Properties[4].Value}} |
    Format-Table -AutoSize

Рекомендації щодо захисту AD у 2026 році

  1. Модель мінімальних привілеїв (Least Privilege) — використовуйте тимчасовий привілейований доступ через Entra ID PIM (Privileged Identity Management) замість постійного членства у привілейованих групах
  2. Захищені користувачі (Protected Users) — додайте привілейовані акаунти до групи Protected Users для захисту від атак pass-the-hash та Kerberoasting
  3. Захист Kerberos (Kerberos Armoring) — увімкніть FAST (Flexible Authentication Secure Tunneling) для захисту попередньої автентифікації Kerberos
  4. Tiered Administration Model — розділіть адміністративні акаунти на рівні (Tier 0 для DC, Tier 1 для серверів, Tier 2 для робочих станцій)
  5. Регулярний аудит дозволів — перевіряйте та очищайте тіньові дозволи (shadow permissions), які можуть виникати через вкладені групи та делеговані права

Практичний чек-лист щоденного моніторингу Active Directory

Ось скрипт, який я рекомендую створити для щоденної перевірки стану AD. Він заощадить вам купу часу і нервів:

# Комплексний скрипт моніторингу стану Active Directory
# Запускайте щоденно через Task Scheduler

$Report = @()
$Date = Get-Date -Format "yyyy-MM-dd HH:mm"

# 1. Перевірка стану всіх контролерів домену
$DCs = Get-ADDomainController -Filter *
foreach ($DC in $DCs) {
    $ping = Test-Connection -ComputerName $DC.HostName -Count 2 -Quiet
    $status = if ($ping) { "OK" } else { "ERROR" }
    $Report += "[$Date] DC: $($DC.HostName) - Status: $status"
}

# 2. Перевірка реплікації
$ReplFailures = Get-ADReplicationFailure -Target * -ErrorAction SilentlyContinue |
    Where-Object { $_.FailureCount -gt 0 }
if ($ReplFailures) {
    foreach ($fail in $ReplFailures) {
        $Report += "[$Date] REPLICATION ERROR: $($fail.Server) -> $($fail.Partner), Failures: $($fail.FailureCount)"
    }
} else {
    $Report += "[$Date] Replication: OK"
}

# 3. Перевірка заблокованих акаунтів
$LockedOut = Search-ADAccount -LockedOut -UsersOnly
if ($LockedOut) {
    $Report += "[$Date] Locked accounts: $($LockedOut.Count)"
    foreach ($user in $LockedOut) {
        $Report += "  - $($user.SamAccountName)"
    }
} else {
    $Report += "[$Date] Locked accounts: 0"
}

# 4. Перевірка акаунтів з простроченими паролями
$ExpiredPwd = Get-ADUser -Filter "PasswordExpired -eq 'true' -and Enabled -eq 'true'" -Properties PasswordExpired
$Report += "[$Date] Users with expired passwords: $($ExpiredPwd.Count)"

# 5. Вивід та збереження звіту
$Report | ForEach-Object { Write-Output $_ }
$ReportPath = "C:\ADReports\AD_Health_$(Get-Date -Format 'yyyyMMdd').txt"
$Report | Out-File -FilePath $ReportPath -Append

Таблиця швидкої довідки: команди діагностики AD

Для зручності зберіть найбільш корисні команди у таблицю швидкої довідки. Роздрукуйте її і тримайте під рукою — повірте, знадобиться:

ЗадачаКоманда
Загальна діагностика ADdcdiag /c /e /v
Діагностика DNSdcdiag /test:dns /v
Стан реплікаціїrepadmin /replsummary
Помилки реплікаціїrepadmin /showrepl /errorsonly
Примусова синхронізаціяrepadmin /syncall /AdeP
Перевірка SRV-записівnslookup -type=SRV _ldap._tcp.dc._msdcs.domain
Пошук контролера доменуnltest /dsgetdc:domain
Заблоковані акаунтиSearch-ADAccount -LockedOut
Звіт GPOgpresult /h report.html
Оновлення GPOgpupdate /force
Перереєстрація DNSnet stop netlogon && net start netlogon
Звіт реплікації (CSV)repadmin /showrepl * /csv > report.csv

Висновок

Діагностика та усунення несправностей Active Directory — це навичка, яка потребує систематичного підходу та розуміння того, як усі компоненти AD-інфраструктури пов'язані між собою. DNS, реплікація, автентифікація та групові політики — усі ці елементи тісно переплетені, і проблема в одному з них може спричинити каскадні збої в інших. Саме тому так важливо дивитися на картину в цілому, а не зациклюватися на окремому симптомі.

Ключові принципи ефективної підтримки Active Directory у 2026 році:

  • Проактивний моніторинг — не чекайте скарг від користувачів, а впровадьте автоматизований моніторинг стану AD. Краще дізнатися про проблему зі скрипта, ніж від розлюченого менеджера о 9 ранку
  • Документування — ведіть детальну документацію інфраструктури AD, включаючи топологію сайтів, партнерів реплікації та DNS-конфігурацію
  • Безпека на першому місці — впроваджуйте модель мінімальних привілеїв, моніторте критичні події безпеки та регулярно проводьте аудит дозволів
  • Автоматизація — використовуйте PowerShell-скрипти для автоматизації рутинних завдань діагностики та моніторингу
  • Тестування перед змінами — завжди тестуйте зміни в групових політиках та конфігурації AD у тестовому середовищі перед впровадженням у продакшен

Дотримуючись цих принципів та використовуючи інструменти й скрипти, описані в цьому посібнику, ви зможете ефективно підтримувати здорову та безпечну Active Directory-інфраструктуру, мінімізуючи простої та забезпечуючи безперебійну роботу користувачів вашої організації.

Про Автора Daniel Okonkwo

Daniel has 13 years in IT operations split across two very different worlds: six years as a Tier 3 Windows server admin at a UK NHS trust, then seven years at CDW handling M365 security posture work for mid-market clients. He carries SC-200 (Security Operations Analyst), the CompTIA CySA+, and a slightly out-of-date ITIL v3 Expert that he refuses to renew on principle. His writing focuses on the helpdesk-adjacent security work that nobody owns cleanly: Defender for Endpoint onboarding, the difference between Defender for Office 365 Plan 1 and Plan 2 when finance asks why the bill jumped, and tuning Conditional Access without breaking the field sales team's iPads. He spent most of 2024 doing forensic cleanup on three separate Business Email Compromise cases - two of which traced back to a missing MFA gap on a service account. He is based in Birmingham and runs a quiet Mastodon instance for old-school sysadmins.