В этой статье мы рассмотрим, как выполнить резервное копирование и восстановление объектов групповых политик (GPO) в Active Directory. Резервные копии GPO позволяет вернуться к предыдущей версии политики, если файлы GPO в SYSVOL были изменены, повреждены или при их случайном удалении.
Создаем резервную копию GPO
Для создания резервной копии объектов GPO можно использовать графическую консоль Group Policy Management Console или командлеты PowerShell из модуля GroupPolicy.
- Откройте консоль
GPMC.msc
. - Перейдите в раздел Group Policy Objects и выберите объект политик, для которого вы хотите создать резервную копию
- Выберите BackUp в контекстном меню
- Укажите каталог, в котором нужно сохранить резервную копию GPO (каталог должен существовать) и нажмите кнопку Back up.
Резервная копия GPO содержит:
- Настройки GPO
- Назначенные права
- Файлы скриптов
- Настройки WMI фильтров
- Параметры политик безопасности
Однако в такой резервной копии отсутствуют информация о контейнерах AD, на которых назначена политика, и настроек наследования.
Чтобы создать резервную копию всех GPO, щелкните по разделу Group Policy Objects и выберите Back Up All.
Для каждой политики создает отдельный каталог с уникальным backup-ID в качестве имени. Для управления резервными копиями GPO также используется консоль GPMC.
В файле manifest.xml (создается в корневом каталоге) хранится информация, необходимые для связывания подпапок с уникальными ID с соответствующими объектами GPO.
Выберите в консоли раздел Group Policy Objects и выберите Manage Backups.
Перед вами появится список доступных резервных копий в указанном каталоге. В открывшемся окне будут видны даты создания резервных копий. Нажав на кнопку View Settings , можно вывести настройки GPO в резервной копии. Чтобы показывать только последние версии GPO, включите опцию Show only the latest version of each GPO.
Можно создать резервную копию политики с помощью PowerShell командлета Backup-GPO. Этот командлет входит в состав модуля GroupPolicy, который по умолчанию установлен на контроллерах домена AD. В Windows 11 этот модуль можно установить из RSAT:
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
Чтобы создать бэкап указанной GPO, выполните команду:
Backup-GPO -Name "DC_Security" -Path "\\fs01\Backup" -Comment "Backup DC_Security GPO $(get-date)"
Чтобы выполнить резервное копирование всех GPO, выполните:
Backup-GPO -All -Path "\\fs01\Backup"
Восстановление GPO из бэкапа
Восстановить GPO из резервной копии можно из консоли GPMC. Выберите GPO, щелкните правой клавишей и в меню выберите Restore from Backup.
Выберите каталог с резервными копиями GPO, нажмите Next и выберите одну из созданных ранее копий.
Нажмите Next, чтобы восстановить предыдущую версию GPO.
Когда объект GPO политики восстанавливается из резервной копии, номер версия этого объекта автоматически увеличивается. Это необходимо, чтобы при репликации sysvol на другие DC выполнилась репликация восстановленного объекта.
Можно восстановить GPO с помощью PowerShell:
Restore-GPO -Name DC_Security -Path "\\fs01\Backup"
Эта команда восстановит последнюю версию GPO. Если нужно восстановить более старую версию, нужно указать ее ID (32 битный идентификатор):
Restore-GPO -Path "\\fs01\Backup" -BackupID 5A596C95-BA59-4B2F-B7EA-99793D90E6C7
Командлет Restore-GPO не сможет восстановить из бэкапа политику удаленного объекта GPO. Поэтому перед восстановлением, придется сначала восстановить GPO из корзины AD с помощью Restore-ADObject
.
Автоматическое резервное копирование GPO планировщиком задач Windows
Для регулярного резервного копирования GPO можно использовать PowerShell скрипт, который будет запускаться планировщиком задания.
Создайте на контроллере домена файл backup_gpo.ps1 со следующим кодом:
$date = get-date -format MM.dd.yyyy
$path = “\\fs01\backup\$date”
New-Item -Path $path -ItemType directory
Backup-Gpo -All -Path $path
Создайте задание планировщика для ежедневного резервного копирования всех GPO:
$Trigger= New-ScheduledTaskTrigger -At 02:00am –Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\Scripts\backup_gpo.ps1"
Register-ScheduledTask -TaskName "GPOBackup" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force ,
Такое задание будет ежедневно создавать в указанном каталоге папку с текущей данной и копировать в нее все групповые политики.