Цель: я пытаюсь изменить объект групповой политики (2008R2 AD) через Powershell (v3). В частности, значение параметра Конфигурация пользователя -> Политики -> Параметры Windows -> FileRedirection -> Путь UNC к документам.
Первоначальная попытка:
import-module grouppolicy;
$StringToFind = "\\this\is\a\template\path";
$StringToRepalce="\\server123\%CustomerID%\%username%\Documents\";
$GPOBackupFolder = "C:\src\psh\gpoBackupEditRestore\backups";
$GPO = copy-gpo -SourceName "Customer GPO Template v1.4" -targetName "Customer $CustomerID" -CopyACL;
$GPOBackup = $Backup-GPO -guid $gpo.id -path $GPOBackupFolder;
$GPOBackupXMLPath="$GPOBackupFolder\$($GpoBackup.ID)\Backup.xml";
$GPOGPReportXMLPath="$GPOBackupFolder\$($GpoBackup.ID)\GPReport.xml";
$NewBackupXMLPath="$GPOBackupFolder\$($GpoBackup.ID)\nBackup.xml";
$NewGPReportXMLPath="$GPOBackupFolder\$($GpoBackup.ID)\nGPReport.xml";
$GPOBackup=gc $GPOBackupXMLPath;
$GPOGPReport= gc $GPOGPReportXMLPath;
foreach($line in $GPOBackup){ac $NewBackupXMLPath $line.Replace($StringToFind,$StringToReplace);}
foreach($line in $GPOGPReport){ac $NewGPReportXMLPath $line.Replace($StringToFind,$StringToReplace);}
remove-item -force $GPOBackupXMLPath;
remove-item -force $GPOGPReportXMLPath;
move-item -force $NewBackupXMLPath $GPOBackupXMLPath
move-item -force $NewGPReportXMLPath $GPOGPReportXMLPath
Remove-GPO -ID $GPO.ID #remove GPO before restore. deleting/commenting this line does not change outcome.
Restore-GPO -BackupID $GPOBackup.ID -Path $GPOBackupFolder
Предполагая, что я правильно прочитал информацию на https://technet.microsoft.com/en-us/library/ee461027.aspx, приведенный выше фрагмент кода Powershell должен восстановить XML из локальной папки в GPO в AD. [[Я подтвердил, что значения шаблона ($StringToFind) не встречаются ни в каком другом файле в каталоге GPOBackupFolder.]]
Однако измененные значения из локальных файлов XML НЕ восстанавливаются в AD. Я подтвердил это, выполнив дополнительную резервную копию объекта групповой политики после его восстановления и сравнив исходные (измененные) файлы резервной копии (которые были восстановлены) со значением резервной копии после восстановления (теперь содержащим значения /Исходные/!).
Кто-нибудь еще пытался это сделать и/или может объяснить такое поведение, почему Restore-GPO не восстанавливает содержимое файлов резервных копий?