Files
Sandbox/backup-gpos.ps1
Zack Meier 03dba08135 sync
2026-04-15 15:42:41 -05:00

28 lines
900 B
PowerShell

# Ashley's script to pull all OUs and their linked GPOs, dump to csv
$Timestamp = (Get-Date).ToString("yyyyMMdd_HHmmss")
Get-GPLinkReport | export-csv "D:\GPOs\^LinkReport\GPOLinks-$Timestamp.csv" -Force
# import-csv Ashley's report, filter only ITD
$LinkReports = Get-ChildItem "D:\GPOs\^LinkReport\" | Sort-Object LastWriteTime -Descending
$FirstNewest = $LinkReports | select -first 1
$SecondNewest = $LinkReports | select -first 2 | select -last 1
# check dates and backup any new changes
$compare = Compare-Object $FirstNewest $SecondNewest
$GPOs=Get-GPO -All
ForEach($GPO in $GPOs)
{
$GPOName = $GPO.DisplayName
$Timestamp = $GPO.ModificationTime.ToString("yyyyMMdd_HHmmss")
$FolderPath = "D:\GPOs\$GPOName\$Timestamp\"
If(!(Test-Path $FolderPath))
{
New-Item -Path $FolderPath -Force -ItemType Directory
}
$GPO | Backup-GPO -Path $FolderPath