В тази статия ще говорим за функциите на архивиране на контролери на домейни Active Directory, вижте как да настроите автоматично архивиране на AD с помощта на PowerShell и вградените инструменти на Windows Server..
Съдържание:
- Трябва ли да архивирам Active Directory?
- Как да проверите датата на последното архивиране на контролер на домейн в Active Directory?
- Архивиране на контролер на домейн на AD с помощта на архивиране на Windows Server
- Архивиране на Active Directory с PowerShell
Трябва ли да архивирам Active Directory?
Неведнъж чувах от администратори, запознати с идеята, че ако имате няколко (5, 10 и т.н.) географски диспергирани контролери на домейни на Active Directory, няма нужда да архивирате AD, защото в няколко DC вече сте предоставили висока устойчивост на домейна. В действителност, при такава схема вероятността за едновременно отказ на всички постоянни токове клони към 0 и ако един контролер на домейн падне, е по-бързо да разгърнете нов DC на сайта и да премахнете стария с помощта на ntdsutil.
В моята практика обаче се срещнах с различни сценарии, когато всички контролери на домейни се оказаха повредени: в един случай всички контролери на домейни (имаше повече от 20 в различни градове) бяха шифровани поради прихващане на паролата за домейн от шифровача чрез помощната програма mimikatz (за предотвратяване на такива за схеми вижте статиите „Защита на Windows от mimikatz“ и „Защита на привилегировани администраторски групи“), в друг случай домейнът поставя репликация на повредения файл NTDS.DIT.
По принцип резервното AD е възможно и необходимо. Като минимум, трябва редовно да архивирате ключови контролери на домейни, собственици на роли FSMO (гъвкави операции с един главен оператор). Можете да получите списък на контролери на домейни с FSMO роли, като използвате командата:
netdom заявка fsmo
Как да проверите датата на последното архивиране на контролер на домейн в Active Directory?
Можете да проверите кога е създадена резервна копия на текущия контролер на домейн Active Directory с помощта на помощната програма repadmin:
repadmin / showbackup
В този пример се вижда, че последният път, когато са били архивирани DC и AD дяловете, е 2017-02-18 18:01:32 (най-вероятно това не е било направено от момента на разполагането на контролера на домейна).
Можете да получите състоянието на архивиране на всички DC в домейна с командата:
repadmin / showbackup *
Архивиране на контролер на домейн на AD с помощта на архивиране на Windows Server
Ако нямате специален софтуер за архивиране, можете да използвате вградения архив на Windows Server за създаване на резервни копия (този компонент замени NTBackup). Можете да настроите автоматични задачи за архивиране в GUI за архивиране на Windows Server, но това ще има някои ограничения. Основният недостатък е, че нов гръб на сървъра винаги ще презаписва стария..
Когато архивирате контролер на домейн чрез WSB, създавате резервно копие Системни състояния (Състояние на системата). Системното състояние включва Active Directory Base (NTDS.DIT), GPO, съдържание на директория SYSVOL, регистър, метаданни IIS, база данни AD CS и други системни файлове и ресурси. Създава се резервно копие чрез услугата за копиране на VSS сенки.
Можете да проверите дали компонентът на Windows Server Backup е инсталиран с помощта на командлета PowerShell Get-WindowsFeature:
Get-WindowsFeature Windows-Server-Backup
Ако компонентът WSB липсва, можете да го инсталирате с помощта на PowerShell:
Добавяне на Windowsfeature Windows-Server-Backup -Включване на подсистемата на Windows
Или го инсталирайте от Server Manager -> Функции.
Ще запазя резервното копие на този контролер на домейн AD в мрежова папка на отделен специален сървър за архивиране. Например пътят към директорията ще бъде \\ srvbak1 \ backup \ dc01. Конфигурирайте разрешенията за NTFS в тази папка: предоставете разрешения за четене и запис в тази директория само за Администратори на домейни и Контролери на домейни.
Архивиране на Active Directory с PowerShell
Нека се опитаме да създадем резервно копие на контролер на домейн с помощта на PowerShell. За да съхраним няколко нива на AD копия, ще съхраняваме всяко архивиране в отделна директория с датата, на която копието е създадено като име на папката.
Импорт-модул ServerManager
[string] $ date = get-date -f 'yyyy-MM-dd'
$ path = ”\\ srvbak1 \ резервно копие \ dc1 \”
$ TargetUNC = $ път + $ дата
$ TestTargetUNC = Test-Path -Path $ TargetUNC
ако (! ($ TestTargetUNC))
Директория New-Item -Path $ TargetUNC -ItemType
$ WBadmin_cmd = "wbadmin.exe START BACKUP -backupTarget: $ TargetUNC -systemState -noverify -vssCopy -quiet"
Извикване за извикване $ WBadmin_cmd
Изпълнете този скрипт. Конзолата wbadmin трябва да се появи с информация за процеса на създаване на резервно (сянка) копие на диска:
Започва операцията за архивиране на \\ srvbak1 \ backup \ dc1 \ 2019-10-10. Създаване на копие в сянка на томовете, посочени за архивиране ...Първият ми опит да създам резервно копие на DC се провали с грешка (контролерът на домейна е виртуална машина на VMWare):
Подробна грешка: Името на файла, името на директорията или синтаксиса с етикет за том е неправилно. Резервното копиране на състоянието на системата не бе успешно [10.10.2019 8:31].
Отворих журнала за грешки в WSB - C: \ Windows \ Logs \ WindowsServerBackup \ Backup_Error-10-10-2019_08-30-24.log.
Файлът съдържа една грешка:
Грешка при архивиране на C: \ windows \\ systemroot \ по време на изброяване: Грешка [0x8007007b] Името на файла, името на директория или синтаксиса с етикет за обем е неправилно.
Поглеждайки напред, ще кажа, че проблемът беше в грешен път в един от драйверите на VMWware Tools.
За да коригирате тази грешка, отворете командния ред с права на администратор и стартирайте:
DiskShadow / L писатели.txt
подробно описани писатели
След като създадете списъка, напишете изход и отворете файла „C: \ Windows \ System32 \ Writ.txt“. Намерете в него ред, съдържащ „прозорци \\".
В моя случай намереният низ изглежда така:
Списък с файлове: Path = c: \ windows \\ systemroot \ system32 \ драйвери, Filespec = vsock.sys
Както можете да видите, се използва грешен път към драйвера VSOCK.SYS.
За да коригирате пътя, отворете редактора на системния регистър и отидете на секцията HKLM \ SYSTEM \ CurrentControlSet \ Services \ vsock.
Променете стойността на ImagePath с\ systemroot \ system32 \ Драйвери \ vsock.sys
заSystem32 \ DRIVERS \ vsock.sys
Изпълнете отново скрипта за архивиране.
Ако архивирането е било успешно, в дневника ще се появят следните съобщения:
Операцията за архивиране приключи успешно. Резервното копиране на обема (C :) завърши успешно. Резервното копиране на системното състояние приключи успешно [10.10.2019 9:52].
Проверете датите на последното архивиране в DC:
repadmin / showbackup
Сега тук е указано, че последният път е извършено архивирането на контролера на домейна днес.
На резервен сървър размерът на директорията с архивирането на контролера на домейна е около 9 GB. По същество вие имате vhdx файл на изхода, който можете да използвате, за да възстановите ОС чрез WSB, или можете ръчно да монтирате vhdx файла и да копирате необходимите файлове или папки от него.
Ако в сайта има няколко DC-то, не е необходимо да ги архивирате всички. За да спестите място, достатъчно е периодично да архивирате базата данни на AD - файла ntds.dit. За целта използвайте следните команди:$ WBadmin_cmd = "wbadmin start backup -backuptarget: $ path -include: C: \ Windows \ NTDS \ ntds.dit -quiet"
Извикване за извикване $ WBadmin_cmd
Размерът на такова архивиране ще бъде само 50-500 MB, в зависимост от размера на AD базата.
За автоматично архивиране трябва да създадете скрипт c: \ ps \ backup_ad.ps1 на DC. Този скрипт трябва да се изпълнява по график чрез програма за програмиране на задачи. Можете да създадете задача за планиране от GUI или от PowerShell. Основното изискване е задачата да се изпълнява от името на SYSTEM с активирана опция Изпълнение с най-високи привилегии. За ежедневното архивиране на AD контролера на домейна създайте следната задача:
$ Trigger = Ново планираноTaskTrigger -На 01:00 ч. -Дневно
$ User = "NT AUTHORITY \ SYSTEM"
$ Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "c: \ ps \ backup_ad.ps1"
Регистрация-ScheduledTask -TaskName "StartupScript_PS" -Trigger $ Trigger -User $ User -Action $ Action -RunLevel Най-високо-Force
И така, ние създаваме резервно копие на състоянието на AD и в следващата статия ще говорим за начините за възстановяване на AD от съществуваща резервна копия на контролер на домейн.