Búsqueda de sitios web

Administración de políticas de grupo (GPO) en Active Directory con PowerShell


La herramienta principal para administrar objetos de directiva de grupo (GPO) en un dominio de Active Directory es la Consola de administración de directivas de grupo gráfica (

GPMC.msc

). Para automatizar y mejorar el rendimiento de algunas tareas de administración de GPO en Active Directory, puede usar PowerShell, que proporciona múltiples funciones de administración de GPO.

¿Cómo instalar el módulo PowerShell de administración de directivas de grupo?

Para administrar GPO de dominio, el módulo GroupPolicy debe estar instalado en su computadora. Este módulo está disponible en Windows Server después de instalar la función de administración de políticas de grupo. Puede utilizar esta función mediante la consola del Administrador del servidor o con PowerShell:

Install-WindowsFeature GPMC -IncludeManagementTools

Si desea administrar los GPO desde una estación de trabajo que ejecuta una edición de escritorio de Windows 10 u 11, instale el módulo de directiva de grupo a través de RSAT:

Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

Puede mostrar una lista completa de los cmdlets de PowerShell en el módulo GroupPolicy con el comando:

Get-Command -Module GroupPolicy

Con el módulo GroupPolicy PowerShell, puede:

  • Crear y eliminar GPO;

  • Vincular/desvincular GPO hacia/desde una unidad organizativa;

  • Copia de seguridad y restauración de GPO;

  • Establezca permisos de GPO o configure la herencia.

Creación y administración de GPO con PowerShell

Echemos un vistazo a algunas tareas administrativas típicas en las que puede usar PowerShell para administrar las políticas de grupo.

Para crear un nuevo GPO en blanco, use este comando:

New-GPO -Name munTestGPO -Comment "My First GPO with PowerShell"

Si se crean GPO de inicio en su dominio, puede crear una nueva directiva de grupo utilizando una de las plantillas (por ejemplo, la configuración de la línea de base de seguridad determinada):

New-GPO -Name munTestGPO2 -StarterGPOName "Windows 10 Security Baseline"

Utilice el cmdlet New-GPLink para vincular un objeto de directiva de grupo a una unidad organizativa:

Get-GPO munTestGPO | New-GPLink -Target "ou=test,ou=munich,dc=a-d,dc=com"

Para desvincular un GPO de una OU:

Remove-GPLink -Name munTestGPO -Target "ou=test,ou=munich,dc=a-d,dc=com"

Si desea deshabilitar GPO sin eliminar un enlace, use el cmdlet Set-GPLink:

Set-GPLink -name munTestGPO -Target "ou=test,ou=munich,dc=a-d,dc=com" -linkenabled no

El GPO ya no se aplica a la unidad organizativa pero permanece vinculado.

Si desea forzar la aplicación de un GPO, agregue la opción -Forzado Sí.

La siguiente línea de PowerShell creará un nuevo GPO para cambiar un parámetro de registro (deshabilita la actualización automática del controlador), restringirá la política al grupo de seguridad específico y lo vinculará a la unidad organizativa:

$key = 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching'
New-GPO 'munDisableDriverUpdate' | Set-GPRegistryValue -Key $key `
-ValueName 'SearchOrderConfig' -Type DWORD -Value 0 | Set-GPPermissions -Replace `
-PermissionLevel None -TargetName 'Authenticated Users' -TargetType group | `
Set-GPPermissions -PermissionLevel gpoapply -TargetName 'mun_admins' `
-TargetType group | New-GPLink -Target "ou=test,ou=munich,dc=a-d,dc=com" -Order 1

El módulo de PowerShell no le permite cambiar el valor de las opciones de GPO desde las plantillas administrativas de GPO (ADMX). Solo puede editar la configuración del registro que se implementa a través de las Preferencias de directiva de grupo.

Puede usar el cmdlet Get-GPO para mostrar información sobre un GPO específico o todas las políticas de su dominio. El cmdlet devuelve un GUID de política (a menudo se necesita para diagnosticar la aplicación de GPO o resolver problemas de replicación de GPO al verificar el estado de Active Directory), el tiempo de creación/modificación de GPO y los filtros WMI de GPO aplicados.

Get-GPO -Domain a-d.site -All

Puede mostrar la configuración de un filtro WMI vinculado a un GPO (pero no podrá cambiar la configuración del filtro):

(Get-GPO munWin10Settings).WmiFilter

Para actualizar la configuración de la directiva de grupo en equipos remotos, se usa el cmdlet Invoke-GPUpdate. Puede actualizar GPO en una computadora específica:

Invoke-GPUpdate -Computer "corp\wks-mn0223" -Target "User"

O en todas las computadoras en una unidad organizativa:

Get-ADComputer -filter * -Searchbase "ou=Computes,OU=MUNICH,dc=a-d,dc=com" | foreach{ Invoke-GPUpdate -computer $_.name -force}

El cmdlet Get-GPOReport se utiliza para obtener el informe HTML/XML con la configuración de la política:

Get-GPOReport -name mun-BitlockerEncryption -ReportType HTML -Path "C:\ps\bitlocker_policy.html"

En este caso, hemos mostrado todas las configuraciones de la política para guardar automáticamente las claves de BitLocker en AD.

El cmdlet Get-GPResultantSetofPolicy le permite crear un informe resultante (RSoP: conjunto resultante de políticas) sobre las políticas de grupo aplicadas al usuario y/o equipo especificado. Este informe parece un informe HTML generado con la herramienta gpresult (

GPResult /h c:\ps\gp-report.html /f

). El cmdlet permite obtener un informe de GPO resultante desde una computadora remota:

Get-GPResultantSetOfPolicy -user m.muller -computer corp\wks-mn0223 -reporttype html -path c:\ps\gp_rsop_report.html

¿Cómo hacer una copia de seguridad y restaurar GPO usando PowerShell?

Con PowerShell, puede realizar copias de seguridad y restaurar GPO en su dominio de Active Directory.

Para hacer una copia de seguridad de todos los objetos de directiva de grupo en la carpeta especificada:

Backup-GPO -All -Path C:\Backup\GPOs\

O solo un GPO:

Backup-GPO -Name munWin10Settings -Path C:\Backup\GPOs -Comment "Backup GPO with PowerShell 2022/28/03"

Para restaurar un GPO, se utiliza el siguiente comando:

Restore-GPO -Name munWin10Settings -Path C:\Backup\GPOs\

Puede guardar algunas versiones de copia de seguridad de GPO en una sola carpeta. Para restaurar una versión específica de GPO, debe especificar su ID de copia de seguridad (identificador de 32 bits):

Restore-GPO -Path ″C:\GPO Backups″ -BackupID 7654321-4321-4321-CCC-1234567890

Artículos relacionados