понедельник, 18 июня 2018 г.

PowerShell: скрипт для резервирования групповых политик Active Directory

Данный скрипт позволяет создать задачу по резервированию групповых политик вашего домена на случай внесения изменений или их удаления:

$Path = "D:\GP_Backup\"
$Days = "30"
$date = Get-Date -format yyyyMMdd
New-Item -Path $Path\$date -ItemType "directory"
Backup-GPO -All -Path $Path\$date
&$env:ProgramFiles\WinRar\rar a -r $Path\$date $Path\$date
Remove-Item $Path\$date -Recurse -Force
$Now = Get-Date
$LastWrite = $Now.AddDays(-$Days)
$Files = Get-Childitem $Path -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
Foreach ($File in $Files)
    {
    If ($File -ne $NULL)
        {
        Remove-Item $File.FullName | Out-Null
        }
    }


где $Path - каталог для хранения бэкапов;
      $Days - все копии, которые созданы ранее этого количества дней назад, будут удалены.

При каждом срабатывании скрипта в целевой папке будет создан архив резервной копии групповых политик в формате "ггггммдд". Архивация производится внешней программой WinRar, которая должна быть установлена заранее.