Cerrar
InicioDirectivas de GrupoBackup de tus GPO con PowerShell en Windows Server 2012

Backup de tus GPO con PowerShell en Windows Server 2012

Seguro que en alguna ocasión habéis hecho algún backup de vuestras GPO desde el GUI, pero desde PowerShell? Vamos a ver como se pueden ejecutar ambos procesos desde Windows Server 2012. Primero vamos por la parte "sencilla" que es utilizar el GUI, para ello abrimos la consola de administración de las directivas de grupo (GPMC.MSC) y vamos a Objetos de directiva de grupo y pulsamos con el botón secundario del ratón y seleccionamos la opción Hacer copia de seguridad de todos …backup_gpo_windows_2012_1.jpg

ahora nos solicita el ubicación del backup, puslsamos en examinar y desde el mini explorador creamos una carpeta para que se almacenen los ficheros del backup
backup_gpo_windows_2012_2.jpg
backup_gpo_windows_2012_3.jpg
una vez que hemos configurado la ubicación y descripción (no obligatoria) pulsamos en Hacer copia de seguridad
backup_gpo_windows_2012_4.jpg
y acto seguido comienza el proceso de copia de seguridad, desde la cual podemo ver el progreso del mismo
backup_gpo_windows_2012_5.jpg
backup_gpo_windows_2012_6.jpg
 
ahora que ha finalizado (y como vemos sin errores) vamos a la carpeta en donde hemos ubicado el backup y vemos su contenido, que por cierto a simple vista es imposible saber a "cual es cual"
backup_gpo_windows_2012_7.jpg

si abrimos alguna de las carpetas  vamos el siguiente contenido

backup_gpo_windows_2012_8.jpg
Backup.xml: contiene la referencia de la GPO (opciones, asignación de filtros IPSec, descriptores de seguridad, etc….)

Gpreport.xml: es el mismo informe que vemos cuando seleccionamos una GPO y vamos a la pestaña Configuración

 

Si abrimos el fichero Backup.xml podemos ver la asignación del ID de la GPO (el que vemos cuando abrimos la consola  de directivas de grupo) y el ID asignado en el backup (listado de carpetas del backup)

backup_gpo_windows_2012_9.jpg

Si ahora lo comparamos desde la consola de administración de directivas de grupo el ID que se referencia en el XML vemos que logicamente es el mismo

backup_gpo_windows_2012_10.jpg

Esto funciona perfectamente, tanto el backup como la resturación pero que pasa si queremos  automatizar el proceso? Pues que desde el GUI no tenemos opción de hacerlo, por lo que tenemos que crearnos un pequeño script muy sencillo en PowerShell para realizar el backup de las GPO. Para ello tenemos el siguiente cmdlet: Backup-GPO

SINTAXIS
    Backup-GPO -Guid <guid> -Path <string> [-Comment <string>] [-Domain <string>] [-Server <string>] [-WhatIf] [-Confirm]  [<CommonParameters>]
    Backup-GPO [-Name] <string> -Path <string> [-Comment <string>] [-Domain <string>] [-Server <string>] [-WhatIf]  [-Confirm]  [<CommonParameters>]
    Backup-GPO -Path <string> [-Comment <string>] [-Domain <string>] [-Server <string>] [-All] [-WhatIf] [-Confirm] [<CommonParameters>]
 
Ejemplo: Backup completo
 
Backup-GPO -Path C:\Backup_GPO -Comment "Backup desde PS" -Domain Asirlab.com -all

backup_gpo_windows_2012_11.jpg

Una vez que finalice el resultado el backup es el mismo que desde el GUI, tendremos nuestras carpetas con su ID. Este cmdlet es muy sencillo, yo he puesto -Domain pero en mi caso no haría falta, solo tengo un dominio. También podemos especificar el DC desde donde hacer el backup con el modificador -Server, etc… , y con el modifidador -ID hacer backup de una sola GPO.

Ahora solo quedaría crearse un .PS1, una tarea programada en  Windows para lanzar el .PS1e e incluir la ruta de destino del backup de las GPO en las tareas programadas de los backups de la empresa.

Si por el contrario queremos restarurar una GPO, también podemos hacerlo mediante GUI o PowerShell:

Restaurar mediante GUIbackup_gpo_windows_2012_12.jpg
backup_gpo_windows_2012_13.jpg

si pulsamos restaurar nos avisa que va a comenzar el proceso de restauraciónbackup_gpo_windows_2012_134.jpg
backup_gpo_windows_2012_15.jpg
Una vez que se ha completado la restauración ya la tenemos lista para implementarla, si ya existe una con el mismo nombre la sobreescribe y sino la crea.

Restaurar mediante PowerShell

SINTAXIS
    Restore-GPO -BackupId <guid> -Path <string> [-Domain <string>] [-Server <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
    Restore-GPO -Guid <guid> -Path <string> [-Domain <string>] [-Server <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
    Restore-GPO [-Name] <string> -Path <string> [-Domain <string>] [-Server <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
    Restore-GPO -Path <string> -All [-Domain <string>] [-Server <string>] [-WhatIf] [-Confirm]  [<CommonParameters>]
 
Restore-GPO -Path C:\Backup_GPO -All -Domain Asirlab.com
backup_gpo_windows_2012_16.jpg

Si queremos restaurar una única GPO debemos ejecutar el siguiente CMDLET:

 

Restore-GPO -BackupId 0BE91DD6-FE91-42AF-BC6A-2BFF0CD10CA8 -Path C:\Backup_GPO -Domain Asirlab.com

backup_gpo_windows_2012_17.jpg
Yo he restaurado una GPO basándome en su ID de Backup pero podría hacerlo basándome en el ID de la propia GPO, cambíaría el –BackupID por –GUID (el GUID lo encontramos en la consola de Administración de Directivas de Seguridad o en el fichero Backup.xml)
 
Restore-GPO -GUID 6AC1786C-016F-11D2-945F-00C04fB984F9 -Path C:\Backup_GPO -Domain Asirlab.com
backup_gpo_windows_2012_18.jpg
Como véis es muy sencillo, es cuestión de revisar los cmdlets  y alguna cosilla más
 
Espero que os sea de utilidad!!!
Windows 8: Administr
NPS: Autenticación

sbuytrago@asirsl.com

NO HAY COMENTARIOS

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies
Share This