Automating GPO backups (you’re doing this right?)

Tue, Aug 25, 2009

How To's

Automating GPO backups (you’re doing this right?)

What happens when you delete a Group Policy Object (GPO)? You restore it from backup right? Well as it turns out, this is a much more complicated process than you’d imagine. Here is a simple solution that I rolled out to automate GPO backups, allowing for simple restores of GPOs (deleted or not).

First you should know that Microsoft includes a small handful of useful scripts with the Group Policy Management Tool. You can find them here: %programfiles%\Gpmc\Scripts (2003) or here: %ProgramFiles(x86)%\Microsoft Group Policy\GPMC Sample Scripts\ (x64 2008). The one We’re looking for today is called BackupAllGPOS.wsf and it does exactly what the name implies. Usage is as follows:

BackupAllGPOs.wsf [/Comment:] [/Domain:]

In my environment, I wanted to backup all GPOs to a central location on the file server. What I didn’t want was to retain multiple copies of the GPOs as the likelihood of restoring something that was older than a day is fairly low. My total GPO backup size works out to around 3Gb so a weeks worth of backups works out to over 20Gb. I’ll rely on our file server backups for this.

I created a simple batch file that first deleted the backup folder, then recreated it (ensuring all GPO backups from the previous day were gone), executed the GPO backup script and spit out a simple log file. It looks like this:

rd /s /q “\\[file server]\[backup location]\GPOs\”
mkdir “\\[file server]\[backup location]\GPOs”
cscript “%ProgramFiles(x86)%\Microsoft Group Policy\GPMC Sample Scripts\BackupAllGPOs.wsf” “\\[file server]\[backup location]\GPOs” > \\[file server]\[backup location]\GPOs\GPOBak.log

This seemed to work quite well so the next step was to automate it. Easy-peasy. I created a scheduled task to run the batch file (above) daily at 3:00am.

Restores are probably the easiest part. Simply launch the group policy management tool, right click the domain and choose Manage Backups, enter the UNC path of your backups into the field, choose your backup to restore and hit restore. Done and done.

Hopefully you’re doing this (or something similar) because the alternative sucks and losing something like a GPO can definitely put a downer on the day.

, , , , ,

Leave a Reply

PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfMzAwX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMzAweDI1MC0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5yeWFua29ub25vZmYuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2ZsYXNobmV3cy9pbWFnZXMvYWQtMTI1eDEyNS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5yeWFua29ub25vZmYuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2ZsYXNobmV3cy9pbWFnZXMvYWQtMTI1eDEyNS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5yeWFua29ub25vZmYuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2ZsYXNobmV3cy9pbWFnZXMvYWQtMTI1eDEyNS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV80PC9zdHJvbmc+IC0gaHR0cDovL3d3dy5yeWFua29ub25vZmYuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2ZsYXNobmV3cy9pbWFnZXMvYWQtMTI1eDEyNS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfcGFnZTwvc3Ryb25nPiAtIFNlbGVjdCBhIHBhZ2U6PC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzI8L3N0cm9uZz4gLSBodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gMTEtZ3J1bmdlbGlnaHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgbnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dGhvcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jncjwvc3Ryb25nPiAtIGJyb3duLmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfZmVhdDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXR1cmVkX2VudHJpZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBudW1iZXI6PC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSBTZWxlY3QgYSBudW1iZXI6PC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAxOTU8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0X2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNTQwPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl9pZDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2VudHJpZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBudW1iZXI6PC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KdmFyIGdhSnNIb3N0ID0gKChcImh0dHBzOlwiID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKSA/IFwiaHR0cHM6Ly9zc2wuXCIgOiBcImh0dHA6Ly93d3cuXCIpOw0KZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoXCIlM0NzY3JpcHQgc3JjPVwnXCIgKyBnYUpzSG9zdCArIFwiZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanNcJyB0eXBlPVwndGV4dC9qYXZhc2NyaXB0XCclM0UlM0Mvc2NyaXB0JTNFXCIpKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+DQp0cnkgew0KdmFyIHBhZ2VUcmFja2VyID0gX2dhdC5fZ2V0VHJhY2tlcihcIlVBLTEwMTc1MDYxLTNcIik7DQpwYWdlVHJhY2tlci5fdHJhY2tQYWdldmlldygpOw0KfSBjYXRjaChlcnIpIHt9PC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29faG9tZV9vbmVfY29sPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2xheW91dDwvc3Ryb25nPiAtIGRlZmF1bHQucGhwPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIC93cC1jb250ZW50L3dvb191cGxvYWRzLzctbG9nby10cmFucy5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL2ZyZXNoLW5ld3MvPC9saT48bGk+PHN0cm9uZz53b29fb3RoZXJfZW50cmllczwvc3Ryb25nPiAtIDY8L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9oZWFkbGluZXM8L3N0cm9uZz4gLSA2PC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaW1hZ2Vfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190YWJzPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBGcmVzaCBOZXdzPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDc1PC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGE6NTp7aTowO3M6Njc6Imh0dHA6Ly93d3cucnlhbmtvbm9ub2ZmLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzctbG9nby10cmFucy5wbmciO2k6MTtzOjY3OiJodHRwOi8vd3d3LnJ5YW5rb25vbm9mZi5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LWxvZ28tdHJhbnMucG5nIjtpOjI7czo2NzoiaHR0cDovL3d3dy5yeWFua29ub25vZmYuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvNS1sb2dvLXRyYW5zLnBuZyI7aTozO3M6Njc6Imh0dHA6Ly93d3cucnlhbmtvbm9ub2ZmLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzQtbG9nby10cmFucy5wbmciO2k6NDtzOjY3OiJodHRwOi8vd3d3LnJ5YW5rb25vbm9mZi5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8zLWxvZ28tdHJhbnMucG5nIjt9PC9saT48bGk+PHN0cm9uZz53b29fdmlkZW9fY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjwvdWw+