Навіщо потрібно перезавантажувати контролери домену раз на місяць

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



Active Directory надає сервіси аутентифікації та авторизації. Працездатна середовище Active Directory дозволяє ефективно працювати іншим службам.

Раніше в керівництві по перевірці працездатності Active Directory (Active Directory Health Check Server Tutorial) ми розглянули 2 важливі питання пов'язані з перевіркою належної роботи служби каталогів: «Реплицированная топологія Active Directory» і «Підмережі не пов'язані з сайтами Active Directory". Ми розповіли про переваги використання мережевої топології порівняно з «ячеичной топологією», а також запропонували скрипт в PowerShell, який ви можете використовувати для одержання інформації про кількість сайтів, пов'язаних з посиланням AD.

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

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

Перед тим як розглянути скрипт Power Shell для отримання інформації про аптайме контролерів домену, давайте визначимося з тим, навіщо нам потрібно перезавантажувати контролери домену. Є дві вагомі причини, які необхідно враховувати при прийнятті рішення про перезавантаження. Розглянемо їх:

  1. Проблеми витоку пам'яті: витік пам'яті відбувається при запуску процесу Lsass.exe. Цей процес здійснюється на контролері домену і відповідає за надання сервісів ідентифікації клієнтам Active Directory. З часом витік пам'яті може вплинути на працездатність контролерів домену. Масштабний витік пам'яті може призвести до неприйнятного тимчасового відгуку з боку процесу Lsass.exe і високому споживанню пам'яті операційною системою. Для того щоб впоратися з проблемами витоку пам'яті рекомендується періодично перезавантажувати доменні контролери.

    Незважаючи на те, що у нових версіях операційних систем для серверів Windows Server 2012 R2 і Windows Server 2016 функція відновлення пам'яті реалізована автоматично, все ж рекомендується перезавантажувати доменні контролери, що в свою чергу може допомогти вирішити проблеми витоку пам'яті, які операційна система не може автоматично вирішити.

  2. Більшість оновлень для системи безпеки вимагають перезавантаження: Важливо відзначити, що Windows сервер і доменні контролери вимагають регулярні патчі для установки пакетів оновлень і хотфиксов, а версії патчів системи безпеки повинні бути сумісні на всіх контролерах домену. Нові патчі замінюють низькорівневі Dll файли в операційній системі, тому більшість оновлень систем безпеки вимагають перезавантаження, після якої оновлення будуть успішно застосовані. Компанія Microsoft щомісяця випускає оновлення системи безпеки і тому вкрай важливо перезавантажувати контролери, щоб внести зміни.
Беручи до уваги вищевказані причини перезавантаження, пропонуємо вам скрипт в Power Shell, який ви можете використовувати для отримання інформації про аптайме контролера домену. Цей скрипт допоможе вам дізнатися кількість днів, що пройшли з останньої перезавантаження кожного контролера домену.

Кроки:

Міняємо ITDynamicPacks. Прописуємо ім'я головного домену в AD forest name. Отримуємо перелік усіх доменних контролерів і головного домену Active Directory, прописавши команду, зазначену нижче, результат зберігається у файлі C:\Temp\DCList.TXT file:

DSQuery Server -o rdn > C:\Temp\DCList.TXT

Копіюємо повний скрипт вказаний нижче в файл PS1 і виконуємо в PowerShell вікні

$CurForestName="ITDynamicPacks.Net"
$TestCSVFile="C:\Temp\DCUpTimeReport.CSV"
$GDCList="C:\Temp\DCList.TXT"
$TotNo=0
$ItemCount=0
$TestText = "Please check result"
$TestStatus="Completed"
$SumVal = "NA"
$ErrorOrNot = "Ні"
$ThisString="Domain Controller, Up Time, Local Time, Time Zone, Days Not Rebooted, Status"
Add-Content "$TestCSVFile" $ThisString
$TodaysDate = Get-Date
Foreach ($ім'я елемента Get in-Content "$GDCList")
{
$operatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ім'я елемента
IF ($Error.count -ne 0)
{
$ThisSTR = $ім'я елемента+",Error Connecting"
$ErrorOrNot = "Так"
Add-Content "$TestCSVFile" $ThisStr
}
else
{
$RTime=[Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LastBootUpTime)
$LocalTime=[Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LocalDateTime)
$CurTimeZone=$operatingSystem.CurrentTimeZone
$StatusNow = ""
$R = $RTime
$Z = $TodaysDate
$DayNotRebooted = (New-TimeSpan -Start $R -End $Z).Days
IF ($DayNotRebooted -ge 30)
{
$StatusNow = "WARNING: Not rebooted since last 30 days"
}
$ThisStr=$ItemName+","+$RTime+","+$LocalTime+","+$CurTimeZone+","+$DayNotRebooted+","+$StatusNow
Add-Content "$TestCSVFile" $ThisStr
}
}

Коли завершиться виконання скрипта по всіх контролерів домену, буде сформовано звіт в DCUpTimeReport.CSV файлі у папці C:Temp folder як показано на наступному скріншоті:


Як можна побачити зі звіту, скрипт дає можливість отримати інформацію про аптайме кожного контролера домену, зазначену в C:\Temp\DCList.TXT файлі. А звіт про те, скільки днів доменний контролер не перезавантажувався можна побачити у графі «Days Not Rebooted».

Наведений вище скрипт є частиною «Тесту контролерів домену на аптайм» Dynamic Pack, який доступний для використання з Active Directory Health Profiler. Даний тест може бути проведений як для одного, так і для безлічі доменів AD і ви можете побачити результати тесту в консолі Active Directory Health Profiler як показано на скріншоті нижче:


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

Запропонований PowerShell скрипт допоможе вам підтримувати працездатність контролерів домену на належному рівні, для цього вам раз в місяць їх потрібно перезавантажувати.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.