Для оптимальной производительности и безопасности контроллеров домена службы каталогов 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 для получения информации об аптайме контроллеров домена, давайте определимся с тем, зачем нам необходимо перезагружать контроллеры домена. Есть две веские причины, которые необходимо учитывать при принятии решения о перезагрузке. Рассмотрим их:
- Проблемы утечки памяти: утечка памяти происходит при запуске процесса Lsass.exe. Этот процесс осуществляется на контроллере домена и отвечает за предоставление сервисов идентификации клиентам Active Directory. Со временем утечка памяти может повлиять на работоспособность контроллеров домена. Масштабная утечка памяти может привести к неприемлемому временному отклику со стороны процесса Lsass.exe и высокому потреблению памяти операционной системой. Для того чтобы справиться с проблемами утечки памяти рекомендуется периодически перезагружать доменные контроллеры.
Несмотря на то, что в новых версиях операционных систем для серверов Windows Server 2012 R2 и Windows Server 2016 функция восстановления памяти реализована автоматически, всё же рекомендуется перезагружать доменные контроллеры, что в свою очередь может помочь решить проблемы утечки памяти, которые операционная система не может автоматически решить.
- Большинство обновлений для системы безопасности требуют перезагрузки: Важно отметить, что Windows сервер и доменные контроллеры требуют регулярные патчи для установки пакетов обновлений и хотфиксов, а версии патчей системы безопасности должны быть совместимы на всех контроллерах домена. Новые патчи заменяют низкоуровневые Dll файлы в операционной системе, поэтому большинство обновлений систем безопасности требуют перезагрузки, после которой обновления будут успешно применены. Компания Майкрософт ежемесячно выпускает обновления системы безопасности и поэтому крайне важно перезагружать контроллеры, чтобы внести изменения.
Принимая во внимание вышеуказанные причины перезагрузки, предлагаем вам скрипт в 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 = "No" $ThisString="Domain Controller, Up Time, Local Time, Time Zone, Days Not Rebooted, Status" Add-Content "$TestCSVFile" $ThisString $TodaysDate = Get-Date Foreach ($ItemName in Get-Content "$GDCList") { $operatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ItemName IF ($Error.count -ne 0) { $ThisSTR = $ItemName+",Error Connecting" $ErrorOrNot = "Yes" 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 скрипт поможет вам поддерживать работоспособность контроллеров домена на должном уровне, для этого вам раз в месяц их необходимо перезагружать.
ссылка на оригинал статьи https://habrahabr.ru/post/316318/
Добавить комментарий